首页 > 其他 > 详细

08-10 NOIP模拟测试16

时间:2019-08-10 15:48:31      阅读:82      评论:0      收藏:0      [点我收藏+]

如果有修改,一定要考虑全这个修改对之前的操作的影响!

T1 mxdt没到n,后来想到,但只改了二分里的,没改特判上的,然后就死了。。。

 

A. Blue

一开始想到了网络流,类似蜥蜴那道题,对每个石子拆点,跑最大流。然后看到数据范围发现不可做。

后来觉得先把部分分拿到。同时也在其中得到了思路上的启发。

对于m==1,直接算每两块的间隔,看是否存在一个间隔>d,引向性质二。

对于n==L-1,最优的跳法显然是把空间平均给每只蛤。任何一只蛤少跳一块,都会让另一只蛤多跳一块,从而使答案不优。引向性质一and性质二。

当你想直逼正解的时候,不要太着急,也许部分分的思考能点开你的思路!

  • 对于每一轮跳跃之间,每个青蛙每轮跳跃后的相对位置不变。
  • 最优解一定存在一种方案不会浪费任何一个石子。多经过石子不会让答案变差。

之后看到答案有单调性,于是开始想二分。

验证也很自然,O(n)扫mid只青蛙每次跳跃mid块(性质一)的所有路线(性质二)是否都合法,即a[i]-a[i-mid]>=d都成立。

此时实际上所有青蛙的路线是一起验证的。如果成立,任意一只青蛙都能找到自己的合法路线而不干扰其他。

这题做法挺多的:比如二分套贪心(上面O(nlogm)),单调指针维护青蛙群(wd lyl) O(n),平衡树贪心最大合法后继暴跳(skyh) O(mlogn)。

 

 

 

B. Weed

 

 

 

C. Drink

08-10 NOIP模拟测试16

原文:https://www.cnblogs.com/hzoi-yzh/p/11330973.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!