东师附中B层团队冲刺NOIP2019知识点模拟(4)题解版

听说经常发题解rp++

传送门 password:12345ssdlh 此密码记忆需配合wxg魔性音乐

T1

Contest2178 - 2019-4-18 高一noip基础知识点 测试7 T3

不会请自行翻阅之前博客

T2

震惊!此题洛谷上紫题!

其实还是很简单的

首先,按成绩sort

然后,枚举每一个可以做中位数的牛,根据中位数的特性,一定在它左右各取n/2头牛

假设中位数定在i,l[i]表示1-i中前n/2个数的和,r[i]表示i-c中前n/2个数的和

那么只需要满足i.money+l[i-1]+r[i+1]<=F

考虑如何快速求出l和r

假设我们已知l[i-1],对于i.money,我们只需要比较i.money和已经取的最大的,谁小就要谁

那显然用个heap维护即可

代码

T2

T3

震惊,此题洛谷上蓝题!

但是就一个dfs就解决了

我是不会告诉你我WA50是因为数组开小了

按照题意模拟dfs即可

只需要加一个记忆化,即在相同时间拥有相同的能力值的话,那么能滑的次数一定相同

就记忆化一下

就好了

剩下的一些神仙剪枝请酌情使用

代码

T3

T4

设dp[i][j]表示前i个数里取一些数,让它们的和%m=j的方案数

那么,dp[i][j]=dp[i-1][j]+dp[i-1][(j-a[i])%m],a[i]表示第i个数 

代码

T4

T5

设dp[l][r]表示在金币还剩下l-r这段区间的时候,现在取的那个人可以取得的最大收益

那么,显然在取完一个之后,需要让下一个人获得的收益最小

所以,dp[l][r]=s(l,r)-min(dp[l][r-1],dp[l+1][r])

代码

T5

T6

震惊!此题在洛谷上是蓝题!

其实这是最简单的一道题了

先满足子树,如果还少,就在子树里找出权值最小的点,往里加就好了

代码

T6

T7

首先二分比值k

对于条边(u,v),将它的边权看做e[i].len*k-pos[v]

然后判负环就好了

负环的最基本的方法是spfa

即一个点如果入队超过m次,那么一定存在负环

代码

T7

 

转载于:https://www.cnblogs.com/yanghaokun/p/11354221.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值