DP
文章平均质量分 55
MaticsL
这个作者很懒,什么都没留下…
展开
-
[BZOJ 1084][SCOI2005]最大子矩阵
这里有一个n*m的矩阵,请你选出其中k个子矩阵,使得这个k个子矩阵分值之和最大。注意:选出的k个子矩阵不能相互重叠。原创 2014-07-29 13:24:31 · 765 阅读 · 0 评论 -
[BZOJ 1079][SCOI2008]着色方案
Description 有n个木块排成一行,从左到右依次编号为1~n。你有k种颜色的油漆,其中第i种颜色的油漆足够涂ci个木块。所有油漆刚好足够涂满所有木块,即c1+c2+...+ck=n。相邻两个木块涂相同色显得很难看,所以你希望统计任意两个相邻木块颜色不同的着色方案。 显然原创 2014-09-18 15:01:39 · 1116 阅读 · 0 评论 -
[codeforces 582b]Once Again…
给一串数列,周期延拓T次,求最长不降子序列长度。 可以大胆猜想这个数列由上升,重复某个数,再上升构成(可以证明),设序列长度为n,先求出延拓n次后的数列的各个位置的最长不降子序列,然后找延拓T次的最大值。 #include #include #include using namespace std; int dp1[10010]={0},dp2[10010]={0},dp3[310]={0}原创 2015-10-06 00:28:50 · 1291 阅读 · 0 评论 -
[codeforces 580D]Kefa and Dishes
n很小,很容易想到状态压缩dp,用dp[set][i]表示结尾是i,用了set里的元素的最大值,枚举set和i来更新下一个元素即可。 #include #include #include #include using namespace std; long long val[20],dp[300000][20]; long long n,m,k; set s; long long max(lon原创 2015-10-06 00:27:13 · 634 阅读 · 0 评论