dp-基础
whiskey_wei
这个作者很懒,什么都没留下…
展开
-
动态规划
动态规划一直是ACM竞赛中的重点,同时又是难点,因为该算法时间效率高,代码量少,多元性强,主要考察思维能力、建模抽象能力、灵活度。 转载请注明出处,谢谢。:http://blog.csdn.net/cc_again/article/category/1261899 *****************************************************************转载 2017-07-19 09:23:19 · 244 阅读 · 0 评论 -
最长上升子序列
链接:https://www.nowcoder.com/acm/contest/74/D 来源:牛客网 题目描述 Wozuinb非常喜欢打炉石传说,但是菜的不行,所以他决定打 竞技场来练练手。系统按顺序给出n张卡牌,每张卡牌都有自 己的使用消耗a[i],每次只给出一张,wozuinb可以选择或者 弃掉这张牌。每选择一张牌都会按选择顺序放在卡槽中,当 卡槽中放满30张即可组成一套套原创 2018-01-28 20:41:41 · 109 阅读 · 0 评论 -
Codeforces 429B B. Working out
参考:http://blog.csdn.net/cc_again/article/details/25691925 原题:http://codeforces.com/problemset/problem/429/B #include #define inf 0x3f3f3f3f #define LL long long using namespace std; //先求出每个点转载 2017-12-06 20:50:41 · 197 阅读 · 0 评论 -
hdu2044一只小蜜蜂
#include #include using namespace std; long long f[55];//注意是long long。。wa了几次 int main() { int n; int a,b; scanf("%d",&n); f[1]=1; f[2]=1; for(int i=3;i f[i]原创 2017-08-05 16:09:02 · 131 阅读 · 0 评论 -
hdu2018母牛的故事
#include #include using namespace std; int main() { int n; int dp[60]; while(~scanf("%d",&n)&&n) { dp[1]=1; dp[2]=2; dp[3]=3; for(int i=4;i原创 2017-08-05 15:45:44 · 177 阅读 · 0 评论 -
hdu2084 数塔
#include #include using namespace std; int a[105][105],dp[105][105]; int ma(int x,int y) { if(x>y) return x; else return y; } int main() { int n,t; scanf(原创 2017-08-05 15:27:17 · 127 阅读 · 0 评论 -
hdu1521-dp
Description 搬寝室是很累的,xhd深有体会.时间追述2006年7月9号,那天xhd迫于无奈要从27号楼搬到3号楼,因为10号要封楼了.看着寝室里的n件物品,xhd开始发呆,因为n是一个小于2000的整数,实在是太多了,于是xhd决定随便搬2*k件过去就行了.但还是会很累,因为2*k也不小是一个不大于n的整数.幸运的是xhd根据多年的搬东西的经验发现每搬一次的疲劳度是和左右手的物品原创 2017-07-19 19:59:04 · 166 阅读 · 0 评论 -
dp-poj2385
poj2385原创 2017-07-19 17:15:58 · 212 阅读 · 0 评论 -
dp求最长公共子序列和子串
1. 问题描述 子串应该比较好理解,至于什么是子序列,这里给出一个例子:有两个母串 cnblogsbelong 比如序列bo, bg, lg在母串cnblogs与belong中都出现过并且出现顺序与母串保持一致,我们将其称为公共子序列。最长公共子序列(Longest Common Subsequence,LCS),顾名思义,是指在所有的子序列中最长的那一个。子串是要求更严格的一种子序转载 2017-08-03 13:39:01 · 595 阅读 · 0 评论 -
hdu2709-dp
题意:输入一个整数,将这个数分解成不定个正数只和,要求这些数必须是2的k次方(k为大于等于0的正数).输出分的方法种数.(由于当输出整数过大时,种数很大只输出最后9位); 设f[n]为整数n的种类数。 当n为奇数时,相加的数中至少存在一个1,那么,f[n]=f[n-1]; 当n为偶数时,分两种情况:(1)若相加的数中含有1,则至少含有两个1,所以,f[n]=f[n-2];(2)若相加的数中不原创 2017-07-19 10:35:14 · 178 阅读 · 0 评论 -
poj-3176Cow Bowling
奶牛保龄球:金字塔形的保龄球中从顶往下撞击,每次只能撞击左下或右下两个,求所有撞到得分的最高值。 dp:dp[i][j]=max(d[i+1][j],dp[i+1][j+1])+m[i][j]; #include #include using namespace std; int ma(int x,int y) { if(x>y) return x; else原创 2017-07-19 09:32:39 · 162 阅读 · 0 评论 -
psd面试—最长回文串模板
忽略字母大小写,求给定字符串去掉最长的回文子序列还有多长#include<bits/stdc++.h> using namespace std; string s; int longestPalindromeSubSequence1(string str) { int n=str.length(); vector<vector<int> > d...原创 2018-03-27 20:22:31 · 134 阅读 · 0 评论