• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Eric.cpp
博客园 | 首页 | 新随笔 | 新文章 | 联系 | 订阅 订阅 | 管理

随笔分类 -  dp

 
poj-1276(多重背包)裸题
摘要:有多种钱币,每种钱币有限多个,多重背包。附代码:#include <iostream>#include <string.h>#include <stdio.h>using namespace std;int dp[100005];int w[1000];int main(){ int n,m,a,b,cnt; while(cin >> n >> m){ cnt=0; memset(dp,0,sizeof(dp)); memset(w,0,sizeof(w)); for(int i=1;i<=m;i++){ ... 阅读全文
posted @ 2012-11-30 11:23 Eric.cpp 阅读(232) 评论(0) 推荐(0)
背包入门(0-1背包,完全背包,多重背包)
摘要:推荐一篇好文章:http://blog.csdn.net/sj13051180/article/details/66876740-1背包,每件物品只有一个,对于每件物品只有取与不取两种情况,完全背包,每件物品无数多个,对于每件物品可以取任意多个。多重背包,每件物品有限多个,对于每件物品可以取任意多个。以poj-3624与poj-1276为原型,阐释三种背包的代码。0-1背包:#include <iostream>#include <stdio.h>using namespace std;int main(){ int dp[12900]; int n,m; int v[ 阅读全文
posted @ 2012-11-30 11:21 Eric.cpp 阅读(461) 评论(0) 推荐(0)
poj-3624(0-1背包)裸题
摘要:参考博客http://blog.csdn.net/sj13051180/article/details/6687674关于0-1背包与多重背包讲的很细,适合入门。贴我的代码:#include <iostream>#include <stdio.h>using namespace std;int main(){ int dp[12900]; int n,m; int v[3405]; int w[3405]; while(cin >> n >> m){ for(int j=0;j<=m;j++) dp[j]=0; f... 阅读全文
posted @ 2012-11-30 10:38 Eric.cpp 阅读(172) 评论(0) 推荐(0)
【专题】概率dp-求期望
摘要:求期望两种题型。1.概率dp2.高斯消元这里有一篇很好的文章:http://kicd.blog.163.com/blog/static/126961911200910168335852/还有kb大神的专题:http://www.cnblogs.com/kuangbin/archive/2012/10/02/2710606.html然后是我AC的三道小题。全部是概率dppoj-2096dp[i][j]代表i,j到n,s的期望步数;(i*(s-j)/(n*s))*dp[i][j+1]中,i/(n*s)代表在i中取一个的概率,(s-j)/(n*s)代表在s-j中取一个,放到j+1中的概率.dp[i] 阅读全文
posted @ 2012-10-28 17:33 Eric.cpp 阅读(2276) 评论(0) 推荐(0)
dp第四题
摘要:#include <string.h>#include <stdio.h>#include <iostream>using namespace std;int dp[4050];int main(){ int n,a,b,c; while(cin >> n >> a >> b >> c) { memset(dp,-1,sizeof(dp)); dp[a]=1;dp[b]=1;dp[c]=1; for(int i=1;i<=n;i++) { if(i-a>0 && dp[i-a]!=- 阅读全文
posted @ 2012-05-14 12:44 Eric.cpp 阅读(309) 评论(0) 推荐(0)
dp第三题
摘要:#include <iostream>#include <string.h>#include <stdio.h>using namespace std;int main(){ int n; int a[105]; int dp[105]; while(cin >> n) { memset(dp,0,sizeof(dp)); for(int i=1;i<=n;i++) { cin >> a[i]; } for(int i=1;i<=n;i++) { ... 阅读全文
posted @ 2012-05-11 21:47 Eric.cpp 阅读(183) 评论(0) 推荐(0)
dp第二题
摘要:#include <iostream>#include <string.h>#include <stdio.h>using namespace std;int dp[100050];int main(){ int n; while(scanf("%d",&n)!=EOF) { dp[0]=1;dp[1]=1;dp[2]=1;dp[3]=1; for(int i=4;i<=n;i++) { dp[i]=(dp[i-1]%10007+dp[i-3]%10007); } cout << dp... 阅读全文
posted @ 2012-05-11 21:42 Eric.cpp 阅读(148) 评论(0) 推荐(0)
dp第一题
摘要:因为对内分工的原因,我的dp一直很弱,最近觉得dp非常有趣,于是开始狂刷dp了。#include <iostream>#include <stdio.h>#include <string.h>using namespace std;int dp[1051][1051];int main(){ int n,m; while(scanf("%d%d",&n,&m)!=EOF) { memset(dp,0,sizeof(dp)); for(int i=1;i<=n;i++) dp[i][1]=1; for(int j=.. 阅读全文
posted @ 2012-05-11 21:39 Eric.cpp 阅读(229) 评论(0) 推荐(0)
 

公告


博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3