求k个不覆盖的最大连续区间和,每个区间长度为m。
影响决策的因素有k和区间和,所以dp[i][j]的含义就显而易见了,表示在以第i个数的位置选择了j个子序列的最大值。
那么根据递推关系不难写出递推表达式dp[i][j] = max(dp[i-1][j],dp[i-m][j-1]+sum[i]);其中dp[i-1][j]的作用值得我们细细品味,它的作用是将状态转移过来。
而且因为区间的不覆盖性...
分类:
其他好文 时间:
2015-06-06 10:36:33
阅读次数:
115
// poj 2559 Largest Rectangle in a Histogram 栈
//
// n个矩形排在一块,不同的高度,让你求最大的矩形的面积(矩形紧挨在一起)
//
// 这道题用的是数据结构做,也可以递推做,目前只会数据结构的
//
// 对于每个高度h,求一个左边界L和右边界R,分别表示的意义是
// L是下标为j的矩形的高度的hj小于当前h的最大的j的值。则根据定义
//...
分类:
其他好文 时间:
2015-06-06 00:33:09
阅读次数:
143
分析:大实数乘方计算。
#include
#include
using namespace std;
struct BigReal //高精度实数
{
int len; //长度
int num[10000];
int point; //小数点位置
BigReal()
{
len=1;
point=0;
memset(nu...
分类:
其他好文 时间:
2015-06-05 15:46:40
阅读次数:
107
http://acm.hdu.edu.cn/showproblem.php?pid=2050
折线分割平面
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 19960 Accepted Submission(s): 1...
分类:
其他好文 时间:
2015-06-05 10:23:31
阅读次数:
124
思路:容易知道G(x)=6x,H(x)=6F(x)。此题的关键是求出F(x)的通项,要求F(x)的通项,先建立递推式:F(x)=1/6 * (F(x-1)+1) + 5/6 * (F(x-1)+1+F(x)-1)。红色部分的意思是:假设已经连续出现x-1个了,若再出现一个同样的,总共花费F(x-1)...
分类:
其他好文 时间:
2015-06-05 06:22:22
阅读次数:
126
http://acm.hdu.edu.cn/showproblem.php?pid=2049
不容易系列之(4)——考新郎
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 25945 Accepted Submissi...
分类:
其他好文 时间:
2015-06-04 22:48:56
阅读次数:
212
分组背包
最多取一个的组,则对于该组来说,每一个状态只可能由前一组的状态过来,分不取和取两种
至少取一个,则没了不取的选择,即没有dp[i][j]=dp[i-1][j]的递推式
任意取,即01背包,取法包括由前一组不取或取一个,或由该组取一个
dp[i][j]表示前i组,消耗j时间所能取得的最大值
初值赋为-1,表示该状态不可达,对于dp[0],初值赋为0,即什么都没有的时候最大的快乐值...
分类:
其他好文 时间:
2015-06-04 22:44:58
阅读次数:
185
对和排序,显然最小是a1+a2,次小a1+a3 然后穷举哪里是a2+a3 这样a1,a2,a3就求出来了注意a2+a3只可能是前n+1项中的一个,所以穷举这步是O(n)的接下来我们把已经确定的数的和找到并标记,那么下一个未标记的和就是a1+新的数,然后依次递推下去即可 1 var v:array[0...
分类:
其他好文 时间:
2015-06-04 22:41:33
阅读次数:
114
神、上帝以及老天爷
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 26725 Accepted Submission(s): 11121
Problem Description
HDU 2006'10 AC...
分类:
其他好文 时间:
2015-06-04 21:10:29
阅读次数:
204
题意:一个中国环的游戏,规则是一个木棒上有n个环,第一个环是可以随意放上或拆下的,剩下的环x如果想放上或拆下必须前一个环x-1是放上的且前x-2个环全部是拆下的,问n个环最少多少次操作可以全部拆掉。
题解:需要进行递推,首先第一步肯定是要拆第n个环保证操作次数最少,因为后面的环是否存在对前面的环不造成影响,而先拆前面的如果要拆后面的环还是要把前面的放上,f(n)表示拆掉前n个环需要的最少操作次数,...
分类:
其他好文 时间:
2015-06-04 19:29:10
阅读次数:
119