自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (1)
  • 收藏
  • 关注

原创 luogu P1438 无聊的数列

题面分析等差数列!等差数列!等差数列!等差!等差!等差!差分!差分!差分!就这样喽假设有一数列a1,a2,a3,a4…a10,对其加上等差数列t,t+d,t+2d…t+6d,(L=2,R=8)将其构造成差分数组,如中间部分所示,很明显可以看到差分数组的绿色部分只需要全部加上d,第L项加上t,第R+1项加上(−t−(R−L)×d)(-t-(R-L)\times d)(−t−(R−...

2019-01-30 20:51:40 199 1

原创 luogu P5097 [USACO2004OPEN]Cave Cows 2 洞穴里的牛之二

题面分析很简单,求区间[l,r]的最小值线段树首选(只会线段树)code#include<bits/stdc++.h>using namespace std;#define loop(i,start,end) for(int i=start;i<=end;i++)#define clean(arry,num); memset(arry,num,sizeof(ar...

2019-01-30 13:41:40 175 1

原创 JSOI2004 平衡点 / 吊打XXX

题面分析正解表示不会蒟蒻只会用模拟退火随机一个点,用鬼畜的物理推理得到W=sqrt(dxdx+dydy)*w[i]这个公式,然后评价这个点,再随机,再评价然后就玄学的A掉了本题code#include<bits/stdc++.h>using namespace std;#define LD long double#define RD T*(2*rand()-RAN...

2019-01-30 10:52:33 248

原创 noip 2012 提高组 Day2 T2 LuoguP1083 借教室

题面分析由于本题涉及区间,我们可以将天数看做数组的下标,每一个请求都是在对一个区间的值进行修改,于是可以将本题看做一个区间修改的题目,而支持区间修改的数据结构无非就线段树和树状数组这里使用线段树的做法维护区间最小值,当最小值为负时返回false,输出申请人编号code#include<bits/stdc++.h>using namespace std;#define ...

2019-01-30 10:34:55 145

原创 浅谈 线段树 luoguP3372

概念和原理线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。使用线段树可以快速的查找某一个节点在若干条线段中出现的次数,时间复杂度为O(logN)。而未优化的空间复杂度为2N,实际应用时一般还要开4N的数组以免越界其实就是可以在O(nlogn)的时间复杂度内实现区间修改和区间查询实现首先定义某节点rt的左儿子节点编号为rt&...

2019-01-29 17:30:52 234

原创 模拟退火略谈

模拟退火算法(Simulate Anneal,SA)是一种通用概率演算法,用来在一个大的搜寻空间内找寻命题的最优解。模拟退火是由S.Kirkpatrick, C.D.Gelatt和M.P.Vecchi在1983年所发明的。V.Černý在1985年也独立发明此演算法。模拟退火算法是解决TSP问题的有效方法之一。模拟退火的出发点是基于物理中固体物质的退火过程与一般组合优化问题之间的相似性。模拟退...

2019-01-29 10:15:58 516

原创 120718 测试 NOIP 模拟题 T3 最大数列

题面分析不说怎么暴力,因为暴力的难度与得分成正比正解动归设l[i]l[i]l[i]:区间[1,i]的最大连续和(最大子区间和)r[i]r[i]r[i]:区间[i,n]的最大连续和(1<=i<=n)那么易得S=max(l[i]+r[i+1])S=max(l[i]+r[i+1])S=max(l[i]+r[i+1])而l[i]l[i]l[i]和r[i]r[i]r[i]的...

2019-01-28 19:35:22 153

原创 120718 测试 NOIP 模拟题 T2迷宫

题目分析搜索要炸只好DP方程如下f[x][y][step]=∑i=03f[x+dx[i]][y+dy[i]][step−1]f[x][y][step]=\sum_{i=0}^{3}{f[x+dx[i]][y+dy[i]][step-1]}f[x][y][step]=∑i=03​f[x+dx[i]][y+dy[i]][step−1]经典建模code#include<bits/...

2019-01-28 16:30:37 197

原创 欧几里德算法(辗转相除法)的证明

证法一a可以表示成a = kb + r(a,b,k,r皆为正整数,且r<b),则r = a mod b假设d是a,b的一个公约数,记作d|a,d|b,即a和b都可以被d整除。而r = a - kb,两边同时除以d,r/d=a/d-kb/d=m,由等式右边可知m为整数,因此d|r因此d也是b,a mod b的公约数假设d是b,a mod b的公约数, 则d|b,d|(a-k*...

2019-01-27 21:46:02 602

原创 浅析树状数组+模版题 luogu P3374+模版题 luogu P3368

功能维护区间[1,r]的数字和实现lowbit(x):返回x在二进制下的最后一位一的十进制如:lowbit(01001100)=00000100#define lowbit(x) (x&(-x))我只能说,这种实现取最后一位的方式真的巧妙引入lowbit后,我们就可以引入树状数组的概念了树状数组的核心仅是一个数组,我们不妨叫其数组c,在阐明树状数组实现方式前,先看...

2019-01-27 20:12:50 145

原创 【DP】noip 2008 T3 luogu P1006 传纸条

题面分析由于做过noip 2000 Day2 T6 方格取数看到这道题的第一反映就是棋盘DP,将方格取数的方程套用过来就有f[i][j][k][l]=max(sitiuation1,sitiuation2)+wf[i][j][k][l]=max(sitiuation1,sitiuation2)+wf[i][j][k][l]=max(sitiuation1,sitiuation2)+w...

2019-01-26 21:22:47 198

原创 单调队列(luogu P1886 滑动窗口)

有时间再来更,先来code#include<bits/stdc++.h>using namespace std;#define loop(i,start,end) for(int i=start;i<=end;i++)#define anti_loop(i,start,end) for(int i=start;i>=end;i--)#de

2019-01-26 20:33:57 249

原创 [SCOI2005]互不侵犯 Luogu P1896

题面分析状压DP模版由于某一行的状态与上一行有关,且有国王个数限制于是设f[i][s][k]f[i][s][k]f[i][s][k]为第i行状态为s,用了k个国王时的可能性于是有f[i][s][k]=∑f[i−1][s2][k−w[s]]f[i][s][k]=\sum f[i-1][s2][k-w[s]]f[i][s][k]=∑f[i−1][s2][k−w[s]](s2指第i-1行...

2019-01-26 17:43:53 217

原创 [SCOI2007]排列 luogu P4163

题面分析蒟蒻真的真的不会搞如此高级的状压啊啊啊啊啊啊啊于是一发爆搜打了50分如果要打爆搜的话,要注意判重的问题若是000的话,它的全排列(不管第一个1和第二个1是一样的)有6种,但实际这些都是重复的于是我开了一个一亿的vis数组,(没怎么考虑空间开销),幸好没爆但判重其实可以用一个比较巧妙的数学方法(正解也是这样),一开始统计每一个数出现的次数cnt[i],然后把结果依次除掉...

2019-01-26 12:03:08 248

原创 noip 2002 普及组 T4 过河卒

题面分析乍一看,水题!深搜秒掉!好的,最多最多60pts lol为什么呢?说明中说:结果可能很大!dfs只有走向爆栈正解是DP由于兵只可以向上或右走,于是设f[x][y]是位置为(x,y)的点到点(n,m)的所有路径,据加法原理有f[x][y]=f[x−1][y]+f[x][y−1]f[x][y]=f[x-1][y]+f[x][y-1]f[x][y]=f[x−1][y]+f[x][...

2019-01-25 20:09:06 373

原创 Luogu P1189 `SEARCH`

题面几组 data1.in4 5......X......*XX.X..3NORTHWESTSOUTH1.out.....*X*..*.*.XX.X..2.in5 5........................*32.out5 5****.****.****...........33.in5 4...

2019-01-25 17:29:52 378 1

原创 【迭代加深】vijos P1159 打水

题面好吧我承认与原题有点不一样,但不影响理解分析不能用全排列本题用迭代加深迭代dep,即选择桶的种类个数每规定一个dep,跑一边dfs,当dfs中找到一个解时,用完全背包来判断解是否合法而第一个合法的解一定满足字典序最小code#include<bits/stdc++.h>using namespace std;#define loop(i,start,end)...

2019-01-25 11:52:20 237

原创 【广搜】[USACO08FEB]流星雨Meteor Shower

题面传送门分析水题搜索的水题可以深搜也可以宽搜但无论你怎么搜,都要先预处理一下图,将流星砸下的时间放在图上,然后拓展状态的时候判断即可code#include<bits/stdc++.h>using namespace std;#define loop(i,start,end) for(int i=start;i<=end;i++)#define clea...

2019-01-25 08:55:50 252 1

原创 noip 2000 Day2 T6 方格取数

题面分析学过网络流的同志都不难看出,本题可以用网络流,将有数的方格看作点,根据位置关系(只能往右下走)来建图,然后跑两遍最大流,每跑一次就更新权值即可(代码?太懒难得写)当然本题还可以用搜索,从起点开始dfs,遇到点就更新权值且累加ans,回溯时就把权值放回去就好,每次到终点时维护一下maxx和maxxx(第一大和第二大)(还没写过这种,只是有个思路)我其实做这道题是想练一下动归(蒟蒻...

2019-01-24 21:51:54 226

原创 【宽搜】mzoj 1345 英雄 hero

题面题目描述(Description):城堡迷宫由N×M个格子组成,英雄Mario玛丽奥要在城堡迷宫中从起始点移动到目标点去拯救被怪物掳去的公主,他每一步只能从当前所在的格子移动到相邻的4个格子之一,而且不能移出城堡的范围,走一步需要1秒的时间。城堡中某些格子里面有弹簧,每个弹簧具有特定的能量K,不同弹簧的K值不一定相同。如果Mario跳到一个有弹簧的格子,他就会继续向前跳K个格子或者被墙所...

2019-01-24 20:19:18 327

原创 mzoj P1344 工作依赖

题面题目描述(Description):2008年,奥运会将在中国举行。众所周知举办奥运会是一个庞大的工程,有许多准备工作要做,而这些工作也是要分先后、存在依赖关系的。比如我们说工作2依赖于工作1,意思是说在工作2开始做之前要必须结束工作1。我们假设,在一个时刻只有一个工作在进行,而且每样工作所依赖的其它工作不会超过10个。输入文件(job.in):第一行有两个整数N(0<=N...

2019-01-24 18:30:51 198

原创 noip 2017 Day1 T1 小凯的疑惑(证明+代码)

1.证明方式1:luogu大佬的同余方程就像求值域方式2:某数学竞赛大佬存在性。可以先得出:ab-a=a(b-1);因为a,b互质,b与b-1互质,所以b不能表示出ab-a,故不能表示出ab-a-b(因为b能表示出b),同理,a可以表示出a(b-1),无法表示出ab-a-b。最大性。我们知道,n=ax+by;首先,由于贝祖定理,他必有整数解。 不妨设:b>x,等价于b&g...

2019-01-23 20:33:56 629

原创 noip 2017 Day1 T2 时间复杂度

题面测试数据(可用右上角目录来跳过此栏)样例1:82 O(1)F i 1 1E2 O(n^1)F x 1 nE1 O(1)F x 1 n4 O(n^2)F x 5 nF y 10 nEE4 O(n^2)F x 9 nEF y 2 nE4 O(n^1)F x 9 nF y n 4EE4 O(1)F y n 4F x 9 nEE4 ...

2019-01-23 20:17:36 229

原创 noip2017 Day2 T1——cheese

说一道题水,要么是它真的水,要么是你还没有用代码实现过它----Jerry题目:分析:把其抽象为一个图,则这个图起点应该是那个可能存在的与h=0平面有交点的点,终点应该就是那个可能存在的和奶酪上表面有相交的那个点。于是,方式一的思路就是,建图+染色爆搜但其实我们发现,如果我们知道所有与上表面相交的圆的标号和与下表面相交的圆的标号,那么我们只需要判断这两种圆是否存在相连关系即可。涉及...

2019-01-22 16:05:31 246 2

原创 浅谈LCA相关算法(tarjan,倍增)

其实tarjan算法的理解也没那么麻烦这是一棵树,我们不难发现,9和12的公共祖先是3,且当我们走到12时,9一定被访问过了,3也一定被访问过了然后tarjan的大脑就发现了一个问题:如果说我们可以知道访问过的点的祖先,那么图中,我们在dfs到节点12时不就可以直接认为9和12的公共祖先是9当下遍历到的最远的祖先(即3)了吗?(其实到了这一步,我们就可以发现两种做法,一种使用RMQ,另一种...

2019-01-22 15:29:21 679

原创 2018级阶段性基础代码检测考试总结

基础嘛,基础啊T1:题目 A: 奇怪的电梯时间限制: 1 Sec 内存限制: 128 MB题目描述呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯。大楼的每一层楼都可以停电梯,而且第i层楼(1<=i<=N)上有一个数字Ki(0<=Ki<=N)。电梯只有四个按钮:开,关,上,下。上下的层数等于当前楼层上的那个数字。当然,如果不能满足要求,相应的按钮就会失灵。例如...

2019-01-22 15:23:47 238

原创 浅谈单模式串字符串匹配算法(KMP)

字符串算法很有趣,尤其是KMP和AC自动机~~大纲1.问题定义字符串匹配是计算机科学中最古老、研究最广泛的问题之一。一个字符串是一个定义在有限字母表∑上的字符序列。例如,ATCTAGAGA是字母表∑ = {A,C,G,T}上的一个字符串。字符串匹配问题就是在一个大的字符串T中搜索某个字符串P的所有出现位置。其中,T称为文本,P称为模式,T和P都定义在同一个字母表∑上。还是比较好理解的...

2019-01-01 12:30:41 356

搜集的可用于WInhex的解析模版

可用于Winhex(X-Way Forensics)的各种文件格式解析模版

2024-06-16

关于并查集求连通块的三道例题的代码

关于并查集求连通块的三道例题: 1.无线网络 2.星球大战 3.岛屿 的代码

2019-08-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除