上一页 1 2 3 4 5 6 7 8 ··· 21 下一页
摘要: 题目链接:http://poj.org/problem?id=3254 给你n*m的菜地,其中1是可以种菜的,而菜与菜之间不能相邻。问有多少种情况。 状压dp入门题,将可以种菜的状态用一个数的二进制表示。第i行的状态只与上一行有关。 此blog讲的很清楚:传送门 阅读全文
posted @ 2016-09-29 20:45 Recoder 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/contest/583/problem/D 给你t个长度为n的数组。问你最长不下降子序列的长度。 一开始用第一个n数组的lis和最后一个n数组的lis和中间最多相同的数字出现的个数相加。这是错的,比如5 6 3 4 1 2 可以发现数组的长度很小 阅读全文
posted @ 2016-09-28 16:16 Recoder 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1005 纸上画一下,找了一下规律,Ank*Cnk. 阅读全文
posted @ 2016-09-27 16:17 Recoder 阅读(384) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/contest/543/problem/D 给你一棵树,初始所有的边都是坏的,要你修复若干边。指定一个root,所有的点到root最多只有一个坏边。以每个点为root,问分别有多少种方案数。 dp[i]表示以i为子树的root的情况数,不考虑父节 阅读全文
posted @ 2016-09-27 16:06 Recoder 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/contest/467/problem/C 求k个不重叠长m的连续子序列的最大和。 dp[i][j]表示第i个数的位置个序列的最大和。 前缀和一下就好了。空间可以优化,滚动数组就好了。 阅读全文
posted @ 2016-09-27 13:23 Recoder 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/problemset/problem/687/C 题目大概说给n个各有价值的硬币,要从它们中选出若干个组合成面值k,而要求的是各个方案里这些选出的硬币能组合出来的面值有哪些。 dp[i][j][k]表示到第i个硬币,组成面值为j,包含面值为k的方 阅读全文
posted @ 2016-09-26 21:32 Recoder 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3333 题意就是询问区间不同数字的和。 比较经典的树状数组应用。 阅读全文
posted @ 2016-09-26 20:39 Recoder 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1201 题意不多说了。 dp[i][j]表示i这个数划分成j个数的情况数。 dp[i][j] = dp[i - 1][j] + dp[i - 1][j - 1] 前 阅读全文
posted @ 2016-09-25 22:08 Recoder 阅读(940) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/contest/118/problem/D 有n个步兵和m个骑兵要排成一排,其中连续的步兵不能超过k1个,连续的骑兵不能超过k2个。 dp[i][j][x][y]表示表示用i个步兵和j个骑兵,末尾有连续的x个步兵,或者有连续的y个骑兵。 所以x 阅读全文
posted @ 2016-09-25 21:20 Recoder 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/contest/444/problem/C 给定一个长度为n的序列,初始时ai=i,vali=0(1≤i≤n).有两种操作: n≤10^5,1≤x≤10^6. 感觉这是一个比较好的考察线段树区间更新的性质。 当区间的a[i]一样时,区间更新即可, 阅读全文
posted @ 2016-09-25 19:43 Recoder 阅读(431) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 21 下一页