CodeForces
DS-K
这个作者很懒,什么都没留下…
展开
-
CodeForces 282E Sausage Maximization
题目链接:http://codeforces.com/contest/282/problem/E题意:给一个长度为n的整数序列,现在要你截取这个序列的一个前缀和一个后缀(前缀和后缀不能相交),使得前缀和后缀的异或值最大。前缀和后缀的异或值为前缀序列中的数和后缀序列中的数,异或的结果,比如,某个序列的前缀为1、 2、 4 ,后缀为8、 16,那么它们的异或值为31.前缀和后缀可以为空原创 2016-02-20 21:33:39 · 487 阅读 · 0 评论 -
CodeForces 710D Two Arithmetic Progressions
题目链接:http://codeforces.com/problemset/problem/710/D题意:给两条直线,a1 * x + b1 和 a2 * x + b2,问存在多少Y∈[L,R],使得a1 * x + b1 = a2 * y + b2 = Y。而且x,y >= 0。思路:首先确定x和y的范围[L1,R1] , [L2,R2].根据 L 然后a1 * x原创 2016-09-04 21:50:13 · 563 阅读 · 0 评论 -
Codeforces 560E Gerald and Giant Chess
题目链接:http://codeforces.com/problemset/problem/560/E题意:在一个有n个坏点的h*w的棋盘上,起点为(1,1),终点为(h,w),每次可以使x+1或者y+1,求不同的路径数。思路:如果从(x0,y0)到(x1,y1),没有任何坏点,有C(x1-x0+y1-y0,x1-x0)种方案,那么我们可以设f[i]为从起点,不经过任何坏点原创 2016-08-11 08:54:18 · 397 阅读 · 0 评论 -
Codeforces Round #368 C Pythagorean Triples
题目链接:http://codeforces.com/problemset/problem/707/C题意:给一个三角形的边长,问能够再找两条边,构成一个直角三角形。思路:斜边为C,B^2 = C^2 - A^2 = ( C + A ) * ( C - A )。①C - A = 1B^2 = C + A = 2*A + 1 (B^2为奇数)②C - A = 2原创 2016-08-21 01:01:07 · 331 阅读 · 2 评论 -
Codeforces 689D Friends and Subsequences
题目链接:http://codeforces.com/problemset/problem/689/D题意:给两个长度为n的数组a,b,求有多少个区间[l,r]满足max(al,al+1,...ar) = min( bl,bl+1,...br )。思路:随着右端点的增大,max()的值是不减的,而min()的值是不增的,所以如果我们固定了左端点,就可以通过二分来确定右端点两原创 2016-07-21 09:30:35 · 628 阅读 · 0 评论 -
Codeforces 682D Alyona and Strings
题目链接:http://codeforces.com/problemset/problem/682/D题意:给两个字符串,要求在这两个字符串中找到k个顺序相同的子串,子串可以相邻,使得子串长度和最大。思路:dp[i][j][k][0]表示第一个字符串的前i个位置,第二个字符串的前j个位置且已经找出k个子串,A[i]和B[j]不作为子串长度的最长子串长度和。dp[i]原创 2016-07-20 23:02:05 · 206 阅读 · 0 评论 -
Codeforces 450B Jzzhu and Sequences
题目链接:http://codeforces.com/problemset/problem/450/B题意:给出f1,f2,fi = fi-1 + fi+1 ,求fn mod 1e9+7.思路:fi+1 = fi - fi-1 , 由于n很大,我们可以构造一个转移矩阵(fi , fi+1)× 「 0 -1 => ( fi+1 , fi+2 )原创 2016-07-20 20:15:23 · 241 阅读 · 0 评论 -
Codeforces 698A Vacations
题目链接:http://codeforces.com/problemset/problem/698/A题意:有n天假期,每一天可以分四种情况,0:只能休息,1:只能做活动1或者休息,2:只能做活动2或者休息,3:可以从活动1/2中选一个做 或者 休息,且活动1和2不能相邻天做。求假期休息的最少天数。思路:dp[i][j]表示第i天选择做j的最少休息天数(j = 0 ,1 ,原创 2016-07-20 19:59:45 · 557 阅读 · 0 评论 -
CodeForces 455C Civilization
题目链接:http://codeforces.com/contest/455/problem/C题意:给出一个图(不一定所有点都连在一起),两种操作:1、合并两个点所在的图,边随意添加,不过要使得加完之后的连通图的最长路最小。2、求点x所在图的最长路。思路:先把每部分子图的树的直径求出来,然后用并查集维护,合并两个集合后的最长路可能是两个图原最长路各取一半向上取整之和再加上原创 2016-07-25 20:39:10 · 241 阅读 · 0 评论 -
CodeForces 455A Boredom
题目链接:http://codeforces.com/problemset/problem/455/A题意:有n个数,每一次你可以选择ak,并且把所有ak - 1 和 ak + 1 删掉,得到分数ak , 问你可以得到的最大的得分是多少。所有数的范围都不超过10^5。思路:f[i]表示操作数的范围在1~i时的最大得分。如果打算选数i,那么i-1肯定不能选;不选i,则可以选i原创 2016-07-25 17:10:45 · 1035 阅读 · 0 评论 -
Codeforces 676D Theseus and labyrinth
题目链接:http://codeforces.com/problemset/problem/676/D题意:一个n×m的地图,每个房间向四个方向可能会有门,给定起点和终点,求可以到达终点的最小操作数。每次操作可以将所有房间的门顺时针旋转90,或者可以到达相邻的房间(两个房间之间必须都有门)。思路:bfs搜索。flag[i][j][k]表示(i,j)点上转向k次的状态是否已经原创 2016-06-05 17:38:04 · 387 阅读 · 0 评论 -
Codeforces 676C Vasya and String
题目链接:http://codeforces.com/problemset/problem/676/C题意:给一个只含有ab的字符串,最多修改k个字符使得一段连续字符串只包含一种字符的长度最长。思路:尺取法,记录当前连续区间字符串中a的个数,b的个数和当前区间左右边界。现在右边界不断右移加上一个字符,如果min(a,b)小于等于k(也就是说可以通过修改来达到这个区间全部为一原创 2016-06-05 17:15:59 · 368 阅读 · 0 评论 -
Codeforces 672D Robin Hood
题目链接:http://codeforces.com/problemset/problem/672/D题意:对一个序列操作k次,每次将当前最大的数中分出去1给最小的数(如果有多个最大或最小随机选择,不过不影响答案)。求最后最大的数和最小的数的差值。思路:k#include #include #include #include #include #inc原创 2016-06-01 09:53:41 · 423 阅读 · 0 评论 -
CodeForces 55D Beautiful numbers
原文链接:http://www.cnblogs.com/kuangbin/archive/2013/05/01/3052670.html题目链接:http://codeforces.com/problemset/problem/55/D 一个美丽数就是可以被它的每一位的数字整除的数。给定一个区间,求美丽数的个数。这题是很好的数位DP。比较难想状态。就是被每一转载 2016-03-19 10:07:41 · 289 阅读 · 0 评论 -
CodeForces 455B A Lot of Games
题目链接:http://codeforces.com/problemset/problem/455/B题意:两个人玩游戏,给n个字符串,两个人轮流选一个字母加到字符串后面,一开始字符串是空的,而且加完后当前字符串必须是字符串集合中一个字符串的前缀,谁无法再添加字符串谁就输了,他们玩k局这个游戏,上一局输的人下一局先手,问第一局的先手必胜还是后手必胜。思路:首先建一个trie原创 2016-07-25 17:26:01 · 259 阅读 · 0 评论