AGC025简要题解
Posted falldream
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AGC025简要题解相关的知识,希望对你有一定的参考价值。
AGC025简要题解
B RGB Coloring
一道简单题,枚举即可。
C Interval Game
考虑可以进行的操作只有两种,即左拉和右拉,连续进行两次相同的操作是没有用的。
左拉时肯定会选择右端点尽量小的,右拉选择左端点尽量大的,所以排序之后贪心即可。
D Choosing Points
首先证明对于所有(d),假设让两个不能同时选的点之间连一条边,那么结果是一张二分图。
(d)是奇数可以黑白染色,(d)是偶数的时候,显然连边的两点在同一个颜色内。那么我们可以只考虑这个颜色,获得一个新的网格图,这个网格图的边长较大,这时可以让(d)相应缩小,最终(d)会变成奇数。
考虑构造出两张二分图,然后就可以把点分为4种,即在两张图内分别属于哪一边。点数总共(4n^2),所以至少一种满足答案。
E Walking on a Tree
首先考虑每条边有多少条路径经过它,这样可以得到一个答案上界是(sum{min(2,ti)})。实际上这个上界一定能被构造出来。
这种题有一种很经典的想法,就是删去叶子,使得图的规模变小,那么我们就每次考虑一个叶子节点(x)和它唯一的出边(E)。假设(E)的经过次数小于2,那么无论怎么定向都没有问题,否则任意选择两条路径(x-y),(x-z),假设这两条路径都经过了(x-a),那么我们可以令这两条路径方向相反,使得(x-a)一定被双向经过,这两条路径就变成了(y-z)的路径。这样重复(n-1)次就能找到最优解了,复杂度O(nm)。
F Addition and Andition
从低位开始一位位考虑吧,对于每一位,求出它进行了哪些加法操作和每次操作的时间,不难求出最后的状态。
复杂度显然不对,考虑优化。定义势能函数等于两倍的(01)或者(10)加法操作的数量加上三倍的(11)加法操作的数量,考虑加法时可能遇见的情况。
假设加上(01)或者(10),那么暴力做一定没问题,因为这样相当于用两次这种操作换来一次进位的加法,势能函数至少减去1。
假设加上(11),那么有两种情况。如果之前是(01)或者(10),那么相当于(11)变成(01)或者(10),势能函数减少。假设是(00),那么这么做不改变势能函数,所以考虑把连续的一段(11)用链表接起来缩成一段,这样就可以(O(1))处理一整段,显然段数和(01)与(10)的总量是同一个级别的。
这样暴力的做法通过简单的缩段就变成(O(n))的了。
(我从来没学过势能函数,只知道有这个东西,如果是我乱用了,呃…你理解就好了)
以上是关于AGC025简要题解的主要内容,如果未能解决你的问题,请参考以下文章