晚测7
A:kill
贪心
发现答案一定在一个挨着S的连续段里
不然显然可以交换使得答案更优
所以直接\(n^2\)暴力枚举每一段就好了
其实也可以直接贪
暴力枚举每一种情况就好了
考场就是这么写的
然后37ms A掉了
B:乌鸦喝水
\(n^2\) 暴力有50分
链表优化一下有95
正解是把所有水缸按照喝不到的次数排序
然后显然较少次数喝不到的水缸一定先喝不到 而且就没用了
把每个水缸喝不到了看作一个事件
要求的其实就是两个事件之间的间隔时间对答案的贡献
开一个vec记录一下当前还有多少水缸能喝到水
每轮能喝到的水的次数就是vec的size
所以每次都一轮一轮的跑显然太浪费了
可以直接用差的时间去处理size 计算要多少轮之后当前水缸就喝不到了
然后再计算这些轮后的位置到了哪里
就可以每次递推了
如初见 与初见