这题想了很久,是经典的动态规划问题,感觉有点难度,在网上看了很多讨论。
看了动态规划还要好好加强。
#include <iostream> using namespace std; int main() { long i,j,k,l,n,m,t1,maxf,count; long p[210],d[210],f[210],s[210]; long can[30]; long res[30][1000],from[30][1000]; count=0; cin>>n>>m; while(n!=0 || m!=0) { count++; for(i=0;i<n;i++) { cin>>p[i]>>d[i]; f[i]=p[i]-d[i]; s[i]=p[i]+d[i]; } maxf=20*m; for(i=0;i<=m;i++) for(j=0;j<=maxf*2;j++) res[i][j]=-1; res[0][maxf]=0; from[0][maxf]=-1; for(i=0;i<m;i++) for(j=0;j<=maxf*2;j++) if(res[i][j]!=-1) { for(k=0;k<n;k++) { t1=j; for(l=i;l>0;l--) { if(from[l][t1]==k) break; t1-=f[from[l][t1]]; } if(l!=0) continue; t1=res[i][j]+s[k]; if(res[i+1][j+f[k]]<t1) { res[i+1][j+f[k]]=t1; from[i+1][j+f[k]]=k; } } } for(i=0;i<=maxf;i++) { if(res[m][maxf+i]>res[m][maxf-i]) { t1=maxf+i; break;} if(res[m][maxf-i]!=-1) { t1=maxf-i; break;} } cout<<"Jury #"<<count<<endl; cout<<"Best jury has value "<<(res[m][t1]+t1-maxf)/2<<" for prosecution"; cout<<" and value "<<(res[m][t1]-t1+maxf)/2<<" for defence:"<<endl; for(i=m;i>0;i--) { can[i]=from[i][t1]; t1-=f[can[i]]; } for(i=1;i<m;i++) for(j=i+1;j<=m;j++) if(can[i]>can[j]) swap(can[i],can[j]); for(i=1;i<=m;i++) cout<<" "<<can[i]+1; cout<<endl<<endl; cin>>n>>m; } return 0; }
您还没有登录,请您登录后再发表评论
POJ上的一道题目,自己写的代码,因为想下载别人的, 所以就放上了。
北大POJ1015-Jury Compromise【动态规划DP】 解题报告+AC代码
北大POJ初级-动态规划 解题报告+AC代码
poj经典动态规划题目解题报告,包括经典的动态规划题目20多道,可以作为学习动态规划系统的资料,包括题目: Pku acm 1179 Polygon Pku acm 1125 Stockbroker Grapevine Pku acm 1160 post office Pku ...
PKU Online Judge上面很全面的动态规划试题总结。动态规划是ACM考点中最重要的一大类算法之一,对于工作人员来说,动态规划也是实际开发中经常会遇到的算法。这是POJ上面很多DP题目的总结与深刻分析。利于算法学习,...
动态规划算法poj1088滑雪实验报告 动态规划算法poj1088滑雪实验报告
关于poj dp分类,我一直寻找dp的分类,终于找到了,也上传一下
POJ上的DP分类: 容易: 1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 1189, 1208, 1276, 1322, 1414, 1456, 1458, 1609, 1644, 1664, 1690, 1699, 1740(博弈), 1742, 1887, 1926(马尔科夫矩阵,求...
POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类
POJ ACM 1015 Jury Compromise 两种解法 解题报告
放炮问题,北大网站 POJ 1185 算法
POJ题目及算法,包括动态规划、深搜广搜等算法。含相关注释。
poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题...
POJ1321棋盘问题 很好两种解法很值得去参考一下 完整的实验报告还有代码希望kan
经典的0-1背包问题. 适合新手学习. 原题网址:http://poj.grids.cn/problem?id=2773
北大POJ1004-Financial Management 解题报告+AC代码
POJ 最接近点对问题 ACM北大 using namespace std; struct Point { float x; float y; };
8.徐源盛《对一类动态规划问题的研究》 背包九讲Pack 【专辑】插头DP 【专辑】单调队列+斜率优化的DP 01背包问题 acm动态规划总结 PKU——DP专辑 背包之01 POJ 动态规划总结 背包之01背包、完全背包、多重背包详解 ...
北大poj1012-Joseph【经典约瑟夫问题】 poj1012-Joseph【经典约瑟夫问题】
相关推荐
POJ上的一道题目,自己写的代码,因为想下载别人的, 所以就放上了。
北大POJ1015-Jury Compromise【动态规划DP】 解题报告+AC代码
北大POJ初级-动态规划 解题报告+AC代码
poj经典动态规划题目解题报告,包括经典的动态规划题目20多道,可以作为学习动态规划系统的资料,包括题目: Pku acm 1179 Polygon Pku acm 1125 Stockbroker Grapevine Pku acm 1160 post office Pku ...
PKU Online Judge上面很全面的动态规划试题总结。动态规划是ACM考点中最重要的一大类算法之一,对于工作人员来说,动态规划也是实际开发中经常会遇到的算法。这是POJ上面很多DP题目的总结与深刻分析。利于算法学习,...
动态规划算法poj1088滑雪实验报告 动态规划算法poj1088滑雪实验报告
关于poj dp分类,我一直寻找dp的分类,终于找到了,也上传一下
POJ上的DP分类: 容易: 1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 1189, 1208, 1276, 1322, 1414, 1456, 1458, 1609, 1644, 1664, 1690, 1699, 1740(博弈), 1742, 1887, 1926(马尔科夫矩阵,求...
POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类
POJ ACM 1015 Jury Compromise 两种解法 解题报告
放炮问题,北大网站 POJ 1185 算法
POJ题目及算法,包括动态规划、深搜广搜等算法。含相关注释。
poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题...
POJ1321棋盘问题 很好两种解法很值得去参考一下 完整的实验报告还有代码希望kan
经典的0-1背包问题. 适合新手学习. 原题网址:http://poj.grids.cn/problem?id=2773
北大POJ1004-Financial Management 解题报告+AC代码
POJ 最接近点对问题 ACM北大 using namespace std; struct Point { float x; float y; };
8.徐源盛《对一类动态规划问题的研究》 背包九讲Pack 【专辑】插头DP 【专辑】单调队列+斜率优化的DP 01背包问题 acm动态规划总结 PKU——DP专辑 背包之01 POJ 动态规划总结 背包之01背包、完全背包、多重背包详解 ...
北大poj1012-Joseph【经典约瑟夫问题】 poj1012-Joseph【经典约瑟夫问题】