DP
文章平均质量分 59
秦楚233
无无
展开
-
Coins (hdu 2844)多重背包
今天重新学习了多重背包,为选拔赛做准备。这道题学习了大神键盘上的舞者的模板,感谢~本题就是简单的多重背包,先判断将该硬币化为完全背包还是01背包处理,01背包利用二进制化简。题目求的是一共能表示多少种price,这里答案用dp[ i ] == i 判断,原因如下:这道题全部初始化为零,也就是不装满求最大,价值为背包容量,同时也是价值当dp[ i ]即最大容量为i时,装i是最大的,而原创 2016-05-01 21:13:33 · 606 阅读 · 0 评论 -
coins(hdu 3348 贪心 + 多重背包)
用多重背包写总是超时,看了大神的思路。。。一开始我完全用多重背包,超时。。。后来一开始用贪心求出最小张数,然后把多重背包转化成01背包和完全背包,再次超时。。。再然后就是下面的代码了,但是背包比起完全用贪心写还是太慢了。#include#include#include#include#include#include#includeusing namespace原创 2016-05-02 16:17:50 · 656 阅读 · 0 评论 -
History Grading(uva 111)
基础的lcs,错了好几遍的原因:1:题意,首先给出的序列并不是我们要求的,而是代表了第几个数的历史时间,要经过转化。2:怎样退出,没有告诉你到底有几个。#include#include#include#includeusing namespace std;int a[25];int b[25];int s[25][25];int n;int ans;void原创 2016-05-14 10:38:03 · 479 阅读 · 0 评论 -
最大报销额(hdu 1864)
普通01背包,按要求去掉不同的发票就行了。用dfs也实现了一下,数据弱,比dp还快。。。#include#include#include#include#includeusing namespace std;vectorv;double ans;void solve();int n;double m;int s[3000050];int main(){ sc原创 2016-05-14 10:41:24 · 335 阅读 · 0 评论 -
邱老师降临小行星(UESTC 1086)
记忆化搜索,每个格子对应4(方向)*2(向左还是向右转)共8种标记。#include#include#include#include#include#include#includeusing namespace std;char a[1010][1010];int book[1010][1010][4][2];int n,m;int d[4][2] = {-1,0,1,0原创 2016-05-18 18:23:27 · 438 阅读 · 0 评论 -
滑雪(tyvj P1004)
记忆化搜索,四个方向取最大。#include#include#include#include#include#includeusing namespace std;int a[110][110];int book[110][110];int d[4][2] = {1,0,0,1,-1,0,0,-1};int dfs(int x,int y);int n,m;int ma原创 2016-05-21 20:14:11 · 574 阅读 · 0 评论 -
乘法游戏(tyvj P1014)区间dp
区间dp,dp[i][j] = min ( 左右两边去掉的数计算的和 + 当前数a[k]*a[i]*a[j] )#include#include#include#include#include#include#define lson l,m,level*2#define rson m+1,r,level*2+1using namespace std;int a[110原创 2016-05-21 20:18:37 · 853 阅读 · 0 评论