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

T1:这题用dp。

设f[i][j]表示第j个人通过第i轮的概率。则f[i][j]=sum(f[i-1][j]*f[i-1][k]*a[j][k]),k表示第i轮可能与第j个人相遇的人。至于k,我们可以用2的次方去求。


T2:这题是贪心+线段树。

我们先以给出区间的右端点为第一关键字,左端点为第二关键字从小到大排序。设x为这个区间要种树的棵数与目前已种的树的棵树的差,那么最优的种树方法就是取这个区间后x个没有种树的位置种树。至于求一个区间的树的棵树,可以用线段树。


T3:这题的g(x)可以用快速幂求,设m=g(x),则ans=C(k-1,m-1),记得用高精度。


T4:我们设ans[i][j]表示从第i天到第j天都可以走的最短路,ans数组用SPFA求。然后设f[i]表示到第i天的最小值,则

f[i]=min{

1、ans[1][i](从第一天到第i天都没有换过)

2、f[j]+ans[j+1][i]+k(从第j天开始换了一次)}

最终的答案就是f[n]。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值