zyf2000

"No regrets."

[BZOJ1967][Ahoi2005]CROSS 穿越磁场(离散化+spfa)

题目描述传送门题解刚开始感觉答案就是两个点属于的不同的矩形数,但是反例显然啊: 原因就是:在穿越过程中机器人不能够沿着磁场的边缘行动! 那这样怎么处理呢?可以发现只有100个矩形,那就先将它离散化,然后在离散化后的图中在两点之间连边。没有跨过磁场的边权为0,跨过磁场的边权为1。然后跑spf...

2016-10-31 23:42:26

阅读数:605

评论数:0

[NOI2001][POJ1185]炮兵阵地(状压dp)

题目描述传送门题解m很小并且山地和平原、放置与不放置可以用01表示,所以一看就是状压dp。 但是炮可以打到上下两个格子这一点很烦人,这样的话不能用前一行向当前行转移,因为有可能在前一行的前一行存在一个炮和当前行的冲突。 那么我们在状态表示里至少要存两行的状态。但是210∗22^{10}*2不是...

2016-10-31 23:34:17

阅读数:870

评论数:0

[BZOJ1102][POI2007]山峰和山谷Grz(bfs:floodfill)

题目描述传送门题解首先%一下hxy神犇。 她的不靠谱的比别人多挂一个log的代码成功跑进了倒数前三…正常的思路: 每一次搜高度相同的一坨点。如果这一坨点周围有比它高/矮的再判断它是不是山峰/山谷。 每个点只会被遍历一遍,时间复杂度O(n2)O(n^2)。hxy大爷的思路: 用优先队列每次弹...

2016-10-30 20:59:49

阅读数:669

评论数:2

[luogu1710]地铁涨价(bfs)

题目描述传送门题解 转化问题 这里路线涨价明显等同于删边,所以我们可以把问题倒过来思考: 图上依次(倒序)加边,问每个点成为最终图最短路的时间 分析 记原图的点1到达点i的最短路为dis[i],当前状态下点1到达点i最短路为d[i]。下面称d[i]==dis[i]的点i为扩展点。 通过分析最短...

2016-10-30 16:33:02

阅读数:711

评论数:0

[luogu2409]Y的积木(dp)

题目描述传送门题解设f(i,j)表示前i堆,每堆选一个,组成和为j的方案数。 转移方程:f(i,j)=∑k=1mif(i−1,j−block[i][k])f(i,j)=\sum\limits_{k=1}^{m_i}f(i-1,j-block[i][k]) 第一次写了一个非常不科学的堆的做法。容...

2016-10-30 16:25:54

阅读数:572

评论数:0

[CodeForces519E]A and B and Lecture Rooms(lca)

题目描述传送门题意:求树上到某两点距离相等的点有多少个。题解如果这两个点不存在中点(距离不为偶数),答案显然为0。 由于树上的路径是唯一的,那么这x,y的中点一定满足条件,同时和这个中点相连的、并且到这个中点的路径不经过xy这条树链上的点都满足题意。那么我们可以用倍增求出这两个点的中点,然后用s...

2016-10-30 15:04:37

阅读数:406

评论数:0

[noip测试]最长上升子串(乱搞||dp)

题目描述 题解其实这题很sb啊,就处理出以i开头和以i结尾的最长上升子串然后枚举断点就可以了呀。 但是我考试的时候闲的蛋疼写了个dp,而且还调了好久。。 设f(i,0/1)表示前i个,修改/不修改(不能修改第i个)的最长长度,然后就可以递推了。 最后的答案为max{f(i,0)+1,f(i...

2016-10-30 14:55:27

阅读数:429

评论数:0

[BZOJ2541][Ctsc2000]冰原探险(bfs)

题目描述传送门题解乍一看这道题好像无从下手,实际上就是预处理之后bfs。 因为要冰块要撞上冰山了之后才能停下来,所以从一个地方向某一个方向推它停在哪里是一定的,并且从某一个冰山左右只能忘上下推,从一个冰山的上下只能往左右推。那这样的话,就可以把每一个冰山的四边编上号,然后每一次暴力查找往某个方向...

2016-10-30 13:46:22

阅读数:626

评论数:0

[NOIP2014][vijos1913]螺旋矩阵(模拟)

题目描述传送门题解这题我初中参加noip的时候做过,当时用pascal而且真的好弱,这种sb题的暴力都敲不出来。 没法O(n2)O(n^2)模拟,考虑如何快速定位点(i,j)。发现点(i,j)一定是在从外到内的某一层上,且这一层左上角的第一个数是可以通过计算得出的。那么我们可以计算左上角的第一个...

2016-10-29 07:36:00

阅读数:600

评论数:0

[NOIP2015][Vijos1977]推销员(heap)

题目描述传送门题解感觉vijos上的数据比较强,Po的代码在别的网站上过了但是在这里总是wa一组。最后好像是因为一个奇怪的边界问题。 分析题目我们可以发现,假设说推销i个人的时候最远走到了第x个点,那么推销i+1个人的时候就有两种选择:在1~x-1这些点中选一个权值的点,或者在x+1~n这些点中...

2016-10-29 07:30:24

阅读数:558

评论数:0

[NOIP2015][CODEVS5131]求和(数学相关)

题目描述传送门题解容易发现中间的那一个点是没有用的,所以只需要考虑每一对颜色相同并且下标相加是偶数的点就行了。 下标相加是偶数!那么有一条非常显然的性质:只能是两个奇数相加或者两个偶数相加! 也就是说,颜色相同的、下标都为奇数/偶数的一坨点两两之间一定存在答案。 考虑假设一组点为x1,x2…...

2016-10-27 23:09:27

阅读数:530

评论数:0

[BZOJ4325][NOIP2015]斗地主(dfs)

题目描述传送门题解这题看上去很神的样子,其实就是一个暴搜。给2s1G,其实完全是浪费。。。 以步数为层数dfs,每一次只需要根据题目所说的打牌方式模拟然后回溯就可以了。不过细节比较多,需要细心一些。代码#include<iostream> #include<cstring>...

2016-10-27 22:57:27

阅读数:639

评论数:0

[UOJ#149][NOIP2015]子串(dp)

题目描述传送门题解设f(i,j,k)表示从a的前j个字符中选i段连接起来可以和b的前k个匹配的方案数。可以预处理出来g(i,j)表示a的第i个字符和b的第j个字符从后往前最多能匹配多少个。 那么f(i,j,k)=∑l=1g(i,j)f(i−1,j−l,k−l)f(i,j,k)=\sum\limi...

2016-10-27 22:47:00

阅读数:631

评论数:0

[openjudge]数据包的调度机制(dp)

题目描述传送门题解只会写O(n3)O(n^3)的dp啊。。按理来说不科学啊,可能数据弱叭。。。 可以发现,在区间(l,r)中,如果元素k最后一个发送,那么由于是要按照顺序入栈的,一定是(l,k-1)的元素先发送,然后(k+1,r)的元素再发送,最后将k发送。那么这就变成了一个非常典型的区间dp了...

2016-10-26 23:39:45

阅读数:523

评论数:0

[COGS272][NOI1998] 免费馅饼(dp)

题目描述传送门题解首先预处理出val[t][loc]表示时刻t赶到loc的位置能收获的价值。 设f(i,j)表示第i时刻走到j位置是的最大收获。那么f(i,j)=max{f(i-1,j-2),f(i-1,j-1),f(i-1,j),f(i-1,j+1),f(i-1,j+2)}. 但是输出方案比...

2016-10-26 22:51:40

阅读数:544

评论数:0

[openjudge]偶数个数字3(dp)

题目描述传送门 答案对12345取模!题解非常简单的dp。 f(i,0/1)表示前i位有偶数/奇数个3的数字个数。 f(i,0)=f(i-1,1)+f(i-1,0)*9;f(i,1)=f(i-1,0)+f(i-1,1)*9;代码#include<iostream> #includ...

2016-10-26 22:43:34

阅读数:370

评论数:0

[BZOJ2936][POI1999] 降水(堆+bfs:floodfill)

题目描述传送门题解传说这种积水问题有个学名叫floodfill?首先可以发现最外围的一坨块上是不可能积水的。而这些块里面积水的高度取决于高度最小的那个块——木桶效应! 由此可以猜测:块的高度,也可以说是已经确定了能积多少水的积水高度,就是整个算法的关键。 设a(i,j)表示每一个块的原始高度,...

2016-10-26 21:58:55

阅读数:701

评论数:0

[NOI1999][openjudge]棋盘分割(数学相关+dp)

题目描述传送门题解NOI1999的dp都好厉害呀= = 一定要认真读题! 先看这个均方差的式子,可以进行化简: δ=∑ni=1(xi−x¯)2n−−−−−−−−−√\delta=\sqrt {\sum_{i=1}^n (x_i-\overline x)^2\over n} δ2=1n∑ni...

2016-10-26 17:40:39

阅读数:516

评论数:0

[openjudge]盒子与小球之四(dp)

题目描述传送门题解这道题和Push Botton Lock那道题有点像,不过加了一个限制条件,就是每个盒子放至少k个。 那么貌似第二类string就不大好搞了,不过数据范围这么小可以直接O(n3)O(n^3)dp。 设f(i,j)表示将i个不同的小球放到j个不同的盒子里的方案数,那么 f(i...

2016-10-26 09:32:42

阅读数:711

评论数:0

[hdu1133]Buy the Ticket(dp)

题目描述传送门 题意:每张门票卖50元。现在有n个拿50元的人和m个拿100元的人(认为每个人是不同的)排队买票,售票处起初并没有零钱可以找。问有多少种排队方案使所有的人都可以顺利买到票。题解我记得这道题在很久很久以前是Loli某一次奇怪的模拟赛。。。然而当时并不会。。。现在把它重新翻出来a掉感...

2016-10-25 21:39:43

阅读数:437

评论数:0

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