
Good Problems
文章平均质量分 79
haha593572013
这个作者很懒,什么都没留下…
展开
-
空罐 AC自动机 + DP 好题
链接:http://zerojudge.tw/ShowProblem?problemid=b179做这道题首先要对ac自动机理解透彻!!蛮好的一道题目,每一天字符串除了会在尾部扩展一个,开头的字符还会消失使得长度变短。最后要统计n天的时间内多少个串消失了,多少个串生病住院了(包含了病毒串)要描述这个状态,需要考虑经过了几天 串的长度是多少 停留在哪个节点,一般自动机 dp都是这样,原创 2012-10-15 20:31:57 · 1181 阅读 · 0 评论 -
Codeforces Round #174 (Div. 1)(完全)
比赛地址A:直接贴了个模板,我有罪。。。。B:dp[i][2],表示从i出发的结果(要么走到挂,要么循环),记忆化搜索就好了,每次要注意判环C:问你有多少种组合满足Q个条件,每个条件的形式是硬币a出现的次数 大于 硬币b出现的次数 ,先类似于传递闭包搞一下,判掉自己大于自己的情况,然后再用背包来做,每次放进来一个硬币就相当于把出现次数比这个硬币多的硬币都放进来了,由此知道了物品的体积原创 2013-03-18 03:20:36 · 1430 阅读 · 0 评论 -
Codeforces Round #175 (Div. 2) E Positions in Permutations
好题一枚,比赛的时候众神牛没几个能A出这道题,囧,,,这里有个题解,我看了这个才懂的,包括下方的讨论 http://codeforces.com/blog/entry/7126定义一个good position,如果一个位置是good的,则这个位置的数abs(p[i]-i)=1,也就是说i位置要么放i+1,要么放i-1.现在问你长为N的排列有多少个排列恰好含有K个good posi原创 2013-03-26 21:47:25 · 1475 阅读 · 0 评论 -
Codeforces Round #179 (Div. 1)(完全)
raiting 又掉了,明天早上爬起来继续搞,heheA题:好像用数组打标记的方法更简单,反正我直接套了两个树状数组。。。。http://codeforces.com/contest/295/submission/3507289B题:本场比赛的败笔,在更新最短路的时候姿势不够正确,然后交了几遍才过。。做法就是倒着搞,如果更新了某点对的最短路,就要减去相应的差值。http:/原创 2013-04-12 17:16:42 · 1789 阅读 · 1 评论 -
Codeforces Beta Round #13 Problem E Holes(平衡的思想)
题目链接题目大意:给你n个洞,进入某个洞后会跑到另一个洞,到了另一个洞之后又可能会继续到下一个洞,问你从一个洞进去,钻了几个洞才会出来,在哪个洞出来n 个整数a[i] 表示进入i这个洞之后会跑到 i+a[i]....当然,题目不会这么简单,还有一个操作就是更新某个点的power,也就是a[i]的值。直接模拟的话肯定不行想了想,询问可以变成O(1),但是更新操作代价是O(n)的原创 2013-04-15 20:16:35 · 1447 阅读 · 1 评论 -
Croc Champ 2013 - Round 2 题解
题目链接:擒贼先擒王,每次赛后总结CF的题,我都喜欢先搞E题,而且E题一般是我最爱的数据结构题,搞起来特爽E题:给你一棵树,求满足距离之和类似的题目:http://poj.org/problem?id=1741 方法是点的分治,具体参考漆子超的论文,分治算法在树的路径中的应用,论文里面已经讲了很详细了会了poj 1741的话,其实这道题就是多了一个限制,还是排序,扫描,不过在求原创 2013-04-24 03:08:09 · 1706 阅读 · 0 评论 -
Codeforces Round #180 (Div. 1)(完全)
题目链接ps:这场的题解非常nice啊,还提供了各种插图,在理解的过程中感受了出题人思维的强大啊官方题解非常非常非常非常非常难的比赛,反正还是由于我太弱了。。。 A:略B:略C : 构造题,看到下面这张图片就懂了。。。。深蓝色的部分是unique的,大红色的部分也是unique的,各占据了三分之二。。。。。D:构造题如果k=1,那么就是无原创 2013-04-22 02:34:53 · 1448 阅读 · 0 评论 -
2013, VI Samara Regional Intercollegiate Programming Contest
题目链接呵呵五一不做比赛,就总结比赛了。做完了。。。其实就C题和I题比较有价值。。。。那就讲讲这两个题吧C: 给你N个数,N个区间,要求判断是否存在一个唯一的匹配。思路: 先随便求出一个匹配 , 然后判断这个匹配是否唯一。。。求出一个匹配的话,可以先把区间按右端点排序,维护一个set,表示当前还没有匹配的点,每次在点集中找最小的但是大于等于当前区间左端点原创 2013-04-30 16:46:18 · 2195 阅读 · 0 评论 -
ABBYY Cup 3.0 - Finals(总结)
题目链接D题真的有点难写,,,不过写完后发现,也还行(我冒着可能万劫不复的心态研究了下tourist的代码),尽管如此,写的时候还是感觉各种不顺,还好1A了,不过肯定得重写,。这种题非常锻炼代码能力。这场比赛如果参加的话能暴涨啊。虚拟比赛的时候很快就做完了A B C ,然后D题不会做,暴力懒得写,写了的话估计还能涨点。A题:题意:给你一个序列,让你挑出一个子序列,子序列的两端必原创 2013-08-22 21:58:07 · 1918 阅读 · 2 评论 -
SRM 452 div1(practice)
1000pt: 题意:问你由0~9构成长度为n的非递减序列而且能整除m的序列的个数。(n 仰慕某些能一眼看出来性质的神牛,反正我是没看出来,看出那个关键的性质后,问题就是一个简单的DP了。 关键性质:这样一个非递减的序列肯定能由小于等于9个形如(1111...111)的数构成,而且(1111.....111)(n个1)必须要存在(保证n位)。原创 2013-08-11 17:54:10 · 1554 阅读 · 0 评论 -
hdu 4680 About set 小记(毕竟是一天的时光啊)
Problem DescriptionToday Zhanyl (sister Zhan as you know) receives a task about set operation. Although she is very good at this task, but you know she is very lazy so that she wants you to help原创 2013-08-17 00:56:30 · 2335 阅读 · 6 评论 -
上下界网络流
犹记得上一年的时候做过上下界网络流的题目,但是那个时候只会套网上的建图方法,对内部的原理一知半解,因此前几天碰到这个题的时候就有些凌乱了,于是,重新学习了下,深刻理解了,估计不会再忘记了,呵呵。好了,言归正传。上下界网络流的话这篇博客写的很不错的,介绍了怎么建图,怎么求解。然后这篇就是更加的数学化,理论化一点,不过也很好理解的额嗯,然后就站在巨人的肩膀上,总结一下。上下界网络流的问原创 2013-03-13 15:42:15 · 3116 阅读 · 1 评论 -
Codeforces Round #178 (Div. 2)(完全)
比赛地址:http://codeforces.com/contest/294C题:蛮有意思的,给你m个位置,现在要从这m个位置往位置的两边扩展,问你把所有的数都扩展到总共有多少种方法。在两个位置中间的那些数的可能的排列数应该是2^(k-1),因为每次都有两种选择,要么左端点,要么右端点。然后从所有的间隔中各取出一种排列,a1 a2 a3 b1 b2 b3 c1 c2 c3,现在就是原创 2013-04-08 03:19:40 · 1887 阅读 · 3 评论 -
Codeforces Round #168 (Div. 1) 完全
地址:http://codeforces.com/contest/274解题报告 http://codeforces.com/blog/entry/6759赛后补完后都忘了总结。。。。。A:找出一个最大的集合,使得不存在一个数是另一个数的k倍,将矛盾的数之间建边,会有很多条单链,可知有一半的数可以一起存在http://codeforces.com/contest/274/sub原创 2013-03-08 21:53:34 · 1369 阅读 · 0 评论 -
codeforces 223E 计算几何 图论 网络流思想
http://codeforces.com/problemset/problem/223/E题意: 给你一堆坐标点,然后告诉你他们之间的连接情况,所有的边都是双向的,并且图是连通的。边数,点数都是10w级别然后开始询问,每个询问是输入图中某个多边形的所有顶点,然后问你这个多边形内部一共有几个点(包括边界上的点)题解在这里http://codeforces.com/blog/entr原创 2012-09-25 13:03:05 · 1382 阅读 · 0 评论 -
poj 2442 priority_queue
http://poj.org/problem?id=2442题意:略算法:想了好久还是只想到一半啊,先考虑只有两行的情况,有一种方法是暴力O(n^2) + O(n^2 * log(n^2)),就是把所有的可能都列举出来这样的方法显然过于浪费,因为有很多值根本不用去求。n log(n)的方法:可以先将暴力的方案写下来,假设两行为A 和 B ,则所有的方案为A1+B1 A1+原创 2012-11-24 19:18:42 · 929 阅读 · 0 评论 -
Codeforces Round #158 (Div. 2) (完全)
第一百零一篇博文了哟~比赛的时候直接看D和E了,结果都没做出来,我这个大水货。A题 : 水题,满足整除其实就是余数为0B提 : 模拟题C题 : 逆着恢复原来的数列就好了(不断的减一),直到碰到0就停止,当然不能模拟D题 : 给你一棵黑白树的每个点的颜色,以及这个点周围所有边的权值和,让你还原这棵树。将白点和黑点排成两排,按照权值从小到大,每次都从端点建边,边的权值为原创 2012-12-29 15:24:49 · 1631 阅读 · 0 评论 -
codeforces 256 D Liars and Serge
戳这里看题目题意看了很久才懂,题解又搞了许久才懂,敲的时候连组合数C[i][j]都敲错了.......这或许就是被考试折磨的下场,下学期尽量在前半学期不要落下太多的功课吧。这道题关键是真真假假,假假真真 - -题意是说有n个人,有些人说真话,有些人说假话,每个人都知道所有人是说假话的还是说真话的,现在问他们每一个人:说真话的人有多少。每个人都会给出一个答案ai,说假话的人会随便原创 2013-01-04 17:49:53 · 1391 阅读 · 0 评论 -
Codeforces Round #163 (Div. 2)(完全)
这场比赛大概是我做CF以来最难的一场div2了D题搞了很久,还是没搞出来,C题题目没看仔细,E题做过类似的,但显然我这种div2选手很少在比赛搞E题,不过现在已经渐渐消除了对后面两题的恐惧、C.Below the Diagonal给你一个0 1 方阵,题目说有n-1个1,然后一次操作可以交换两行或者两列,然后要求输出一种交换的方案使得所有的1都在主对角线以下。可以暴力两原创 2013-01-24 15:43:10 · 3240 阅读 · 2 评论 -
codeforces 217E 逆向思维
链接:http://codeforces.com/problemset/problem/217/E题意:给你一个字符串,长度小于等于300W,再给你两个数,n,k接下来是n个操作,每个操作是对一段区间操作,将整段区间取出来,偶数位的字符放前面,奇数位的字符放在后面,然后插入这个区间的后面比如 1 11 s1s2... s11, 将 s2s4s6s8s10s1s3s5s7s9s11原创 2012-09-19 23:12:10 · 1481 阅读 · 0 评论 -
codeforces 173E 数据结构 好题
链接:http://www.codeforces.com/problemset/problem/173/E想的久写的久,都累死了。。。。。题意 : 自己看吧。。这道题的话 , 首先观察到一个突破口:对于每个询问 的 leader 的年龄都有一个区间范围。而且leader的领导能力必须大于等于询问的这两个人的较大值 ,设为lim。那么我们再想,怎么将两个人加进来后再去加入其他的人,很原创 2013-01-10 23:54:56 · 1239 阅读 · 0 评论 -
codeforces 70D 动态凸包
http://www.codeforces.com/problemset/problem/70/D两种操作1:增加一个点,会形成一个新的凸包2:判断某个点是否在凸包内有两种方法可以做,不过都类似的,都是根据求凸包的方法来做的。比如,用水平序求凸包的时候,会有两条凸线,一条上凸折线,一条下凸折线,那么判断一个点在这个凸包内就是判断这个点是否在上凸折线的下方以及是否在下凸折原创 2013-01-14 03:17:56 · 3231 阅读 · 0 评论 -
codeforces 162 div 1(完全)
A. Escape from StonesB. Good Sequences C. Choosing BallsD. Colorful Stones:s串的每个字符对应T串中一个匹配的区间,但是要注意XXXc1c2 xxxxc2c1这种状态不可达到 , 所以要剪掉,参考rnq_58的代码E. Roadside Trees官方题解(很详细了)线段树优化DP原创 2013-01-27 12:03:32 · 1413 阅读 · 0 评论 -
Codeforces 267C 高斯消元解方程
题目链接首先,这个题还是蛮有意思的,,,其次,一个sb的bug整了我一下午题意:给出一个流量网络,告诉你每条边流量的上限,每个点(除了源点和汇点)都满足流量平衡,即流进 = 流出 ,还有一个关键的条件是对于任意的x y,从x走到y的流量和相等,流量和为从x到y每条边的流量相加(有正有负)。最后让你输出一种网络流的方案,使得总的流量最大对于任意两个点,不管走哪条路径,流量和都原创 2013-02-03 17:59:19 · 1694 阅读 · 0 评论 -
codeforces 23E 树形DP
题目链接给你一棵树,让你切断一些边,使得剩下的每个连通块的点的个数的乘积最大,输出这个乘积。n 首先,答案肯定要用高精度保存。。。。可以贪心,也可以背包。随便画一画可以发现剩下的连通块中,不会有某块包含长度>=3的路径,因为可以找到中间的那条边切断,使得这个路径分成两段a 和 b (a>=2 ,b >=2), a*b>=a+b根据这个推论 , 可以分三种情况1:以u原创 2013-02-04 14:56:02 · 1530 阅读 · 0 评论