高中信息学奥赛CSP-JS+NOIP—入门组C++重难点剖析)第10讲动态规划.pptx

高中信息学奥赛CSP-JS+NOIP—入门组C++重难点剖析)第10讲动态规划.pptx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

学科竞赛编程C++NOIPNOIIOI

题目描述淘汰赛制是一种极其残酷的比赛制度。2n名选手分别标号1,2,3,…,2^n-1,2^n,他们将要参加n轮的激烈角逐。每一轮中,将所有参加该轮的选手按标号从小到大排序后,第1位与第2位比赛,第3位与第4位比赛,第5位与第6位比赛……只有每场比赛的胜者才有机会参加下一轮的比赛(不会有平局)。这样,每轮将淘汰一半的选手。n轮过后,只剩下一名选手,该选手即为最终的冠军。现在已知每位选手分别与其他选手比赛获胜的概率,请你预测一下谁夺冠的概率最大。淘汰赛中

输入输出格式输入格式:输入文件elimination.in。第一行是一个整数n(l≤n≤l0),表示总轮数。接下来2^n行,每行2^n个整数,第i行第j个是Pij(0≤pij≤100,Pii=0,Pij+Pji=100),表示第i号选手与第j号选手比赛获胜的概率。输出格式:输出文件elimination.out。只有一个整数c,表示夺冠概率最大的选手编号(若有多位选手,输出编号最小者)。

输入输出样例

1PARTONEinlinevoidprework(){For(i,m,M)dp[i]=1,fa[i]=i,L[i]=R[i]=i;intx=m,y=M;For(i,1,n){y=x-1;x=1;For(j,x,y)L[j]=L[j1],R[j]=R[j1|1];}}intmain(){read(n);m=pow(2,n);M=(m1)-1;intx;For(i,1,m)For(j,1,m)read(x),a[i][j]=x/100.0;prework();For(i,1,n){For(j,m,M)g[j]=0;For(j,m,M)For(k,L[fa[j]^1],R[fa[j]^1])g[j]+=dp[k]*a[j-m+1][k-m+1];For(j,m,M)dp[j]*=g[j],fa[j]=1;}doubleans=0;For(j,m,M)ans=Max(ans,dp[j]);For(j,m,M)if(Abs(ans-dp[j])eps){printf(%d\n,j-m+1);return0;}return0;}#includealgorithm#includecstring#includecmath#includecctypeusingnamespacestd;#defineriregisterint#defineFor(i,a,b)for(rii=(a);i=(b);++i)#defineDFor(i,a,b)for(rii=(a);i=(b);--i)templateclassTinlineTMax(registerTa,registerTb){returnab?a:b;}templateclassTinlineTMin(registerTa,registerTb){returnab?a:b;}templateclassTinlineTAbs(registerTx){returnx0?x:-x;}constdoubleeps=1e-9;intn,m,M;intfa[2055],L[2055],R[2055];doubledp[2055],g[2055],a[1055][1055];templateclassTinlinevoidread(Tx){charch=getchar();x=0;while(!isdigit(ch))ch=getchar();while(isdigit(ch))x=(x3)+(x1)+(ch^48),ch=getchar();}

题目描述有一个箱子容量为VV(正整数,0≤V≤20000),同时有n个物品(0n≤30,每个物品有一个体积(正整数)。要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。装箱问题

输入格式:1个整数,表示箱子容量1个整数,表示有n个物品接下来n行,分别表示这n个物品的各自体积输出格式:1个整数,表示箱子剩余空间。输入输出格式

输入输出样例

1PARTONE#includeiostream#includecstdiousingnamespacestd;intf[20005],w[35];intmain(){intv,n;cinvn;for(inti=1;i=n;i++)cinw[i];for(inti=1

文档评论(0)

qwere111119 + 关注
实名认证
内容提供者

音乐

1亿VIP精品文档

相关文档