Loading

题解-AGC011

AGC011

前几题比较水,随便应付一下了。


AGC011C Squared Graph

luogu

统计三种联通块的数量:大小为 \(1\) 的,是二分图的,剩下的。

然后容易算出答案。带权并查集压缩路径记得加权啊。

aclink


AGC011D Half Reflector

luogu

果断暴力找规律,然后这题的数据有点问题,我的做法对不对也不知道就不写了。

aclink


AGC011E Increasing Numbers

luogu

先二分,得到初始最大数字和,然后从低位到高位贪心一下就好了(atcoder 上是铜题,luogu 上是蓝题,不懂 atcoder 怎么评的)。

aclink


AGC011F Train Service Planning

luogu

设一层大小为 \(k\),注意到一层后的决策方案仅与这层两车距离有关。

设前 \(i\) 层总共的距离(包括初始距离、一层内的等待的距离)为 \(d_i\)

\(2a_i\) 的前缀和为 \(A_i\)。对于单行道:

\(i\) 层两车路径交叉的条件是 \(A_{i-1}<d_i<A_{i}\)

所以相当于有很多个区间,然后您手上有一个初值任意的数,每次只能给这个数减去一个非负整数,要求它总是落在当前区间内。

这东西不能直接 dp,有个贪心策略:如果当前的数在上一个区间内,那么可以不动它,否则从上一个区间的左端点转移过来最优。

实现的时候,可以用一个线段树,值为上次不包含它的区间编号,然后每次把不被当前区间包含的数全覆盖了,dp 值都为左端点的 dp 值。

然后最后最优的终点肯定是单行道的右端点。

aclink


\[\Huge\rm --AFO-- \]

posted @ 2021-01-08 18:57  George1123  阅读(209)  评论(0编辑  收藏  举报