摘要: http://codeforces.com/problemset/problem/432/D 题目大意: 给出一个字符串,求有多少种长度的前缀和后缀相等,并且得到的这个子串在原字符串中出现的次数。 思路:预处理kmp,发现从n开始的next[n]一直往下都是合法的前缀后缀,先记录下来,然后从n往1d 阅读全文
posted @ 2016-06-30 21:51 GFY 阅读(225) 评论(0) 推荐(0) 编辑
摘要: http://codeforces.com/problemset/problem/432/D 题目大意: 给出一栋n层的楼,初始在a层,b层不能去,每次走的距离必须小于当前位置到b的距离,问用电梯来回乱跑得到的序列有多少种。 思路:发现在a的这一侧永远不会到b的另一侧去,因此我们拆开来,只保留a所在 阅读全文
posted @ 2016-06-30 21:37 GFY 阅读(193) 评论(0) 推荐(0) 编辑
摘要: http://codeforces.com/contest/455/problem/B 题目大意: 给出n个字符串,进行k次游戏,每次游戏输家下次作为先手,游戏规则为每次放一个字母,导致当前构造的字符串是给定的任意一个字符串的前缀,不能操作时为输,赢得第k次比赛的人会取得最终的胜利,问两人都采取最优 阅读全文
posted @ 2016-06-30 18:54 GFY 阅读(301) 评论(0) 推荐(0) 编辑
摘要: http://codeforces.com/contest/148/problem/D 题目大意: 给出w只白老鼠,b只黑老鼠,公主和龙轮流取老鼠,公主先手,龙取老鼠时会吓跑一只老鼠,先取出白老鼠的人赢,如果没人取到白老鼠,那么龙赢。问公主赢的概率。 思路:f[i][j]代表目前有i条白老鼠,j条黑 阅读全文
posted @ 2016-06-30 16:46 GFY 阅读(149) 评论(0) 推荐(0) 编辑
摘要: http://codeforces.com/problemset/problem/219/D 题目大意: 给出一棵树,但是它的边是有向边,选择一个城市,问最少调整多少条边的方向能使一个选中城市可以到达所有的点,输出最小的调整的边数,和对应的点。 思路:先预处理一个点为根的代价,然后去dfs移动,总复 阅读全文
posted @ 2016-06-30 15:57 GFY 阅读(164) 评论(0) 推荐(0) 编辑
摘要: http://codeforces.com/problemset/problem/461/B 思路:dp,dp[i][0]代表这个联通块没有黑点的方案数,dp[i][1]代表有一个黑点的方案数 转移:首先如果儿子节点是个有黑点的,父亲节点也有黑点,那么只能分裂开,不能合并在一起,只对dp[u][1] 阅读全文
posted @ 2016-06-30 15:32 GFY 阅读(603) 评论(0) 推荐(0) 编辑
摘要: http://codeforces.com/contest/509/problem/C 题目大意: 给出一个序列,代表原序列对应位置数的每一位的数字之和,原序列单调递增,问原序列的最后一个数最小的方案每一个数是多少。 思路:贪心,从1到n,我们尽量让每个数最小就可以了。 阅读全文
posted @ 2016-06-30 15:04 GFY 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 思路:考虑得出,最终的集合一定是gcd=1的集合,那么我们枚举n个数中哪个数必须选,然后把它质因数分解,由于质数不会超过9个,可以状态压缩,去得出状态为0的dp值就是答案。 阅读全文
posted @ 2016-06-30 14:47 GFY 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 就是对于一个数,我们去考虑把t*****减到(t-1)9999*的代价。 阅读全文
posted @ 2016-06-30 14:19 GFY 阅读(171) 评论(0) 推荐(0) 编辑
摘要: http://codeforces.com/problemset/problem/573/B 题目大意: 给出n个连续塔,每个塔有高度hi,每次取走最外层的块,问需要多少次操作能够拿光所有的块。 思路:考虑第一次取得时候 h[i]=min(h[i-1],h[i]-1,h[i+1]) 那么取k次的时候 阅读全文
posted @ 2016-06-30 10:52 GFY 阅读(271) 评论(0) 推荐(0) 编辑