
acm_dp
赵辞书
这个作者很懒,什么都没留下…
展开
-
codeforces 327A. Flipping Game
题目链接:http://www.codeforces.com/problemset/problem/327/A题意:给定一个01序列,选择一个连续的子段,对其翻转(0变1,1变0),然后对所有数求和,求最大值。想法:由于n只有100,所以O(n3)O(n^3)的暴力做法可以直接过,即枚举子段的起点和终点。我们不妨考虑下更快速的做法,比如O(n)O(n)的做法。问题的实质在于求出一个子段,它的值最下,原创 2016-08-15 15:15:14 · 448 阅读 · 0 评论 -
codeforces 189A. Cut Ribbon
题目链接:http://www.codeforces.com/problemset/problem/189/A 题意:有一块长为n的布,现在要把它剪开,只能剪成长度为a, b, c的小块布。求最多能剪成多少块。思路:一个必须装满的完全背包问题。我们设dp[i]表示长度为i的布最多能剪成多少块,那么dp[i] = 只能被dp[i - a], dp[i - b], dp[i - c]更新,还有一点,如原创 2016-08-15 16:16:41 · 553 阅读 · 0 评论 -
2016多校联合训练赛 第四场1001 Another Meaning hdu 5763
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5763 题意:给定一个串,对于该串的文本可以进行转义,即理解出第二种意思。给一个文本,求出对该文本的理解数。 做法:KMP + DP 另dp[i]表示以第i个字符结尾的意义数,则末尾不能转义时,dp[i] = dp[i - 1],可以转义时dp[i] = dp[i - 1] + dp[i - l]。原创 2016-07-28 19:51:32 · 140 阅读 · 0 评论 -
2016多校联合训练赛 第五场1011 Two hdu5791
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5791 题意:给出两个串,求出其子集相同的个数,若元素的位置不同即算两种。 想法:刚那到手时确实没有想法,但一看数据范围1000∗10001000*1000,那不用说了,肯定是DP。我们设dp[i][j]表示考虑到串S第i位和串T第j位时的答案。那么很明显s[i]和t[j]是否相等决定了转移的方式不同原创 2016-08-05 19:48:13 · 398 阅读 · 0 评论 -
Codeforces706C. Hard problem
题目链接:http://codeforces.com/problemset/problem/706/C题意:给定了n个字符串,以及他们逆序之后的代价,对每个字符串可以正序输出或逆序输出,但逆序需付出代价,判断是否可以排成字典序,若可以则输出最小代价。其中2≤n≤1062 \le n \le 10^6。想法:很明显的一道dp,我们定义dp[i][j]为考虑到第i个字符是否翻转的已排成字典序的最小代价,原创 2016-08-27 19:38:19 · 511 阅读 · 0 评论 -
hdu 5115 Dire Wolf(放假前的最后一题)
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5115题意:我们现在有n只排成一排的狼,对于第i只狼,他有两个伤害值aia_i和bib_i。当我们消去第i只狼是会受到aia_i的伤害以及bi−1b_{i-1}和bi+1b_{i+1}的伤害,如果我们要消去所有的狼,求受到的最小的伤害值。其中,2≤n≤2002 \le n \le 200。想法原创 2016-08-27 20:04:15 · 647 阅读 · 0 评论 -
Codeforces Round #260 (Div. 1) A. Boredom
题目链接:http://www.codeforces.com/problemset/problem/455/A题意:给定n个数,每次拿出一个数,获得这个数值的分数,并删去比这个数大1和比这个数小1的所有数字,求最大分数。其中1≤n≤1051 \le n \le 10^5,1≤ai≤1051 \le a_i \le 10^5。想法:一开始在思考是不是有最大的策略,后来发现直接dp即可。我们记录下每个数原创 2016-08-13 20:44:47 · 323 阅读 · 0 评论