------线性DP
QiufengWang424
这个作者很懒,什么都没留下…
展开
-
Codeforces 429B B. Working out (DP)
传送门:B. Working out B. Working out time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Summer is coming! It原创 2016-08-28 17:00:34 · 440 阅读 · 0 评论 -
【codeforces 484D】【DP】Kindergarten
传送门:http://codeforces.com/contest/484/problem/D 题意: 给定一个包含n个元素的数组,我们可以把位置连续的数分为一组,每组至少包含一个元素。 每组对答案的贡献是这个组内最大的数和最小的数的差值。 对于单个元素组成的组,差值为0。输出答案的最大值 思路:定义i是峰值点,如果a[i-1]=a[i+1]或者a[i-1]>原创 2017-01-04 23:07:47 · 394 阅读 · 0 评论 -
最大子段和及其变形小结
最近做刷51nod的时候,看到了这类题目,挺有意思的,小结一下 51nod1049 最大子段和 题意:O(-1) 思路:经典问题 复杂度:O(n) 代码: #include #include using namespace std; const int MAXN = 50000+5; int a[MAXN]; int main() {原创 2016-11-13 00:04:26 · 1211 阅读 · 0 评论 -
【UVA 11584】【简单dp】Partitioning by Palindromes【给定一个字符串, 问最少分为几部分可使各部分均为回文串】
传送门:http://vjudge.net/contest/141412#problem/A (密码cd) 题意:给定一个字符串, 问最少分为几部分可使各部分均为回文串 思路: 1 dp[i] 表示以i结尾的最少分割数 2 dp[i] = min(dp[j-] + 1 && j-i为回文) 复杂度O(n^3),这题数据好像比较水不需要紫书上说的预处理原创 2016-11-12 14:55:37 · 354 阅读 · 0 评论 -
【hdu 5945 】 【dp+单调队列优化】Fxx and game【求数x最少经过多少次变换能变为1,(1)如果x%k==0,那么可以x=x/k。(2)x=x-i,(1<=i<=t)】
传送门:http://acm.split.hdu.edu.cn/showproblem.php?pid=5945 描述: 青年理论计算机科学家Fxx给的学生设计了一款数字游戏。 一开始你将会得到一个数\:XX,每次游戏将给定两个参数\:k,tk,t, 任意时刻你可以对你的数执行下面两个步骤之一: 1.\:X = X - i(1 1.X=X−i(1=i=t)。 2.\:2.若\:X\:原创 2016-10-30 16:46:37 · 663 阅读 · 0 评论 -
【Codeforces 597C】【DP 树状数组优化】Subsequences 【n个不同数,长度为k+1的LIS数】
传送门:C. Subsequences 描述: C. Subsequences time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output For原创 2016-10-03 19:26:41 · 482 阅读 · 0 评论 -
【codeforces 675E】【DP+线段树维护】【给出n个车站,并告诉你第i个车站有从i+1到a[i]个车站的直达票,问你所有车站到其余各个车站的最小车票花费和】
传送门:E. Trains and Statistic 描述: E. Trains and Statistic time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard o原创 2016-10-02 22:52:03 · 1265 阅读 · 0 评论 -
【hdu5890】【bitset+dp】Eighty seven【每次从序列中删掉第i,j,k个数后,是否存在一种选10个数和为87的方案】
传送门:HDU 5890 Eighty seven 描述: Eighty seven Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 102400/102400 K (Java/Others) Total Submission(s): 819 Accepted Submission(s): 277原创 2016-09-30 19:32:35 · 588 阅读 · 0 评论 -
【UVA 10635】【LCS转化成LIS】 Prince and Princess
思路: 这个题目显然用n^2的最长公共子序列的算法会超时,这题最长公共子序列可以转化成最长上升子序列的问题,然后用最长上升子序列的nlogn的算法求解。 但这个方法要求任意一个字符在两序列中出现的频率都要比较低,因为转化成最长上升子序列的算法的最坏复杂度是n^2log(n^2)。而这个题目恰好每个数字最多只在两序列中各出现一次,所以就可以达到nlogn的复杂度了。 代码: #inclu原创 2016-09-23 20:44:42 · 500 阅读 · 0 评论 -
codeforces 710E Generate a String(基础DP)
传送门:E. Generate a String 题目大意 : 就是从0开始 每次可以+1或-1或*2 +-操作花费x *2操作花费y 问你达到n的最小花费是多少? 解题思路 : 就是DP DP 的时候只要从0遍历到n即可 因为题目的数据范围是1e7 所以并不会超时 转移的时候一共决策三种状态 就是 1.由i-1 转移过来的 2.由i/2 转移过来的 这时候要区分下原创 2016-08-24 15:39:18 · 365 阅读 · 0 评论 -
hdu5748 Bellovin(LIS模板)
传送门:点击打开链接 其实就是求以ai(0<=i<n)结尾的最长上升子序列的个数。 最小的字典序就是f1,f2,f3...... 这题O(n^2)做法会超时,需要nlongn,套一下模板就好了~ #include using namespace std; const int inf = 1000000007; const int N = 100005; int a[N], g原创 2016-08-20 14:49:25 · 410 阅读 · 0 评论 -
Codeforces Round #369 (Div. 2) C.Coloring Trees (基础DP)
传送门:C. Coloring Trees 描述: C. Coloring Trees time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output ZS the Co原创 2016-08-30 16:46:26 · 387 阅读 · 0 评论 -
【bzoj1042】[HAOI2008]硬币购物【dp预处理+容斥】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1042思路:参考这篇 : http://hzwer.com/5286.html代码:#include <set> #include <map> #include <queue> #include <vector> #include <math.h> #include <iostream> #in原创 2017-03-15 17:12:45 · 428 阅读 · 0 评论