2017.3.25【NOIP提高组】模拟赛B组小结

这次发挥不太好呀!
第1题和第3题都没有顺利切掉,这是一个致命性的错误,比赛的时候并没有通过对拍来保分
T1:
给你2^n个选手以及第i个选手战胜第j个选手的胜率,进行淘汰赛,每一轮后相邻2个对手互相PK,问谁最有可能夺得冠军
正解:
设d[i,j]表示第j位选手通过第i轮的概率,d[i,j]=d[i-1,j]*sum{d[i-1,k]*p[j,k]}(i=1..n,j=1..2^n,k为所有可能在第i轮与第j位选手交战的选手编号),边界条件d[0,j]=1。时间复杂度O(n^2*2^n)。
考试:
同上,关于如何求k这一方面出现错误
T2:
一条路有n格,有h栋房子,第i栋房子的居民希望b[i]~e[i]之间至少有t[i]棵树,(t[i]<=e[i]-b[i]+1),每个格子种一格,问最少种多少棵树;
正解:
贪心,要种树种得少,就要使一棵树给多个区间使用,这样,尽量在重叠区间种树即可,而重叠位置一定是区间尾部。处理问题时,先按所有区间的结束位置排序,若结束位置相同,则按开始位置排序。之后依次处理每个区间,先在第一个区间尾部种满足要求的树,对下一个区间,看差多少棵就在该区间尾部种多少。
考试:
没想
T3:
给定g(x)=x^x mod 1000,问 对于不定方程a1+a2+……+ak-1+ak=g(x),其中k>=2且k∈N*,求的是这个不定方程的正整数解组数。
正解:
我们令n=g(x),则答案即为C(n-1,k-1).
关于高精度求组合数,可以按照组合数公式逐个把分母的数约分掉,然后按剩下的分子乘起来即可,
剩下的任务就是如何求g(x),用快速幂.
【本题目的】考查大家的基础知识的功底
基础中的基础。
考试:
高精度打错。
T4:
给你m个码头和e条边,持续n天,在一些时间段某些码头不可用,以及修改路线的成本,航运公司要运n天,问最少花费
正解:
f[i]=min{ans(1,i)*i,f[j]+ans(j+1,i)x(i-j)+k} (1<=j<=i-1)
f[i]表示前i天的最小运费,ans(x,y)表示从第x天到第y天从起点到终点的最短路
第一种情况:1到i天都走一条路。
第二种情况:j+1到i天走一条路(这条路记为路径1)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值