DP
wingooom
程序猿一只
展开
-
poj1163 简单的dp
深搜的超时版:虽然超时,但可以理解一下dfs的思路,觉得挺好的;#include#include#include#include#include#include#include#define maxn 1000000using namespace std;int map[110][110];int n;int dfs(int a,int b){ if(a==n原创 2013-04-08 18:57:52 · 485 阅读 · 0 评论 -
POJ3280 Cheapest Palindrome
DP#include#include#include#include#include#include#include#include#include#include#include#include#define maxn 10000000using namespace std;int N,M;int dp[2010][2010];int cost[30];st原创 2013-04-08 22:16:21 · 454 阅读 · 0 评论 -
poj 1028 Ignatius and the Princess III 等于价值为M的有多少种情况
#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;int dp[200];int main(){ int n; while(cin>>n){ memset(d原创 2013-04-11 15:11:00 · 634 阅读 · 0 评论 -
poj1276 简单多重背包压缩为01背包 模板题 适用于w[i]=v[i];
#include#include#include#includeusing namespace std;int dp[100010];int f[10010];int main(){ int M; int a[15]; int b[15]; while(cin>>M){ int n; cin>>n; for(i原创 2013-04-14 19:15:52 · 727 阅读 · 0 评论 -
poj 1742 coins 多重背包,只是用来标记可以组成多少个小于m的值
#include#include#include#includeusing namespace std;int f[100009];int used[100009];int main(){ int n,m; int a[110]; int c[110]; while(cin>>n>>m,n+m){ for(int i=0;i<n;i+原创 2013-04-14 20:01:53 · 480 阅读 · 0 评论 -
hdu 2191 多重背包 三重循环 w[i]!=V[I];
#include#include#include#includeusing namespace std;int dp[40050];int main(){ int T; int w[110]; int v[110]; int c[110]; cin>>T; while(T--){ int n,m原创 2013-04-14 19:33:22 · 594 阅读 · 0 评论 -
poj 1014 多重背包压缩为01
#include#includeint dp[250000];int f[250];int max(int a,int b){ return a>b?a:b;}int main(){ int n[10]; int index=0; int t; while(1){ memset(dp,-1000000,sizeof(dp));原创 2013-04-14 20:08:03 · 472 阅读 · 0 评论 -
poj 1787 多重背包 记录路径
#include#include#include#define N 10100using namespace std;int dp[N];int used[N];int path[N];int num[30];int main(){ int b[10]; int P,c1,c2,c3,c4; int a[10]; while(scanf("%d",&P)!原创 2013-04-14 20:41:49 · 576 阅读 · 0 评论 -
hdu 1248 完全背包 水
#include#include#include#includeusing namespace std;int v[110];int w[3];int dp[10100];int main(){ int T; cin>>T; while(T--){ w[0]=150; w[1]=200; w[2]=350;原创 2013-04-14 12:57:04 · 438 阅读 · 0 评论