题意:给出一个数列C,一个数字M,将数列分成若干段,每段的代价为(设这段的数字为k个): dp[i]=min(dp[j]+(sum[i]-sum[j])*(sum[i]-sum[j])+M) 若j1<j2且j2比j1优 dp[j1]+sum[i]^2+sum[j1]^2-2*sum[i]*sum[j ...
分类:
其他好文 时间:
2016-06-02 18:19:34
阅读次数:
183
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3401 题意:炒股。第i天买入一股的价钱api,卖出一股的价钱bpi,最多买入asi股,最多卖出bsi股。两次操作(买入或卖出)中间必须相差W天。炒股时间为n。任意时间手中的股票不大于MaxP。求最大收益 ...
分类:
其他好文 时间:
2016-06-02 18:03:14
阅读次数:
285
题意:给定一个不下降数列,一个K,将数列分成若干段,每段的数字个数不小于K,每段的代价是这段内每个数字减去这段中最小数字之和。求一种分法使得总代价最小? 思路:F[i]表示到i的最小代价。f[i]=min(f[j]+sum[i]-sum[j]-(i-j)*a[j+1]);(i-j>=K) 对于j1, ...
分类:
其他好文 时间:
2016-06-02 17:57:09
阅读次数:
278
在上上周的交友大会中,队长大人提到了st算法,然后仔细的发呆了一个星期,于是就开始做队长的专题了, 6天后的我总算在此专题做题数目和队长一样了。。明早没课,准备通宵把这几天的零散的记忆整理一下。HDU 3530 Subsequence一开始想为何不能m和k一起放到while语句里进行处理
nowmax和nowmin保存了i之前的最大和最小值,假设此时已经出现不满足k和m的序列(A)了(比k大or比...
分类:
其他好文 时间:
2016-05-30 15:00:55
阅读次数:
242
单调队列 用一个堆维护目前每个颜色在里面的点,每回取出队首点,并更新答案。一旦哪个颜色的点都被用完,跳出循环。 #include #include #include #include using namespace std; const int maxn = 1000000 + 10; const ... ...
分类:
其他好文 时间:
2016-05-29 06:15:59
阅读次数:
297
Non-negative Partial Sums Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2622 Accepted Submissio ...
分类:
其他好文 时间:
2016-05-26 20:25:28
阅读次数:
259
挖坑待填大神博客转载http://www.cppblog.com/MatoNo1/archive/2011/07/05/150231.aspx多重背包的单调队列初中就知道了但一直没(不会)写二进制优化初中就写过一直不写会心虚就写一下这个吧朴素方程dp[i,j]=max(dp[i-1,j-w[i]*k ...
分类:
系统相关 时间:
2016-05-25 22:15:48
阅读次数:
241
单调队列DP复出练手题 朴素方程dp[i]=min(dp[j]+(s[i]-s[j-1])^2+m 你懂得 1 var dp,s:array[0..500000]of int64; 2 a,q:array[1..500000]of longint; 3 n,m,i,t,w:longint; 4 5 ...
分类:
其他好文 时间:
2016-05-25 20:46:48
阅读次数:
184
One hundred layer Problem Description Now there is a game called the new man down 100th floor. The rules of this game is: 1. At first you are at the 1 ...
分类:
其他好文 时间:
2016-05-25 00:34:45
阅读次数:
228