ARC111 简要题解(A~D)
作者:互联网
A.Simple Math 2
简要题意:求出\(\left\lfloor\dfrac{10^N}{M}\right\rfloor\bmod M\)
题解:答案为\(\left\lfloor\dfrac{10^N\bmod M^2}{M}\right\rfloor\)
简要推导如下:
设\(10^N = kM+q\),\(k=aM+b\),则\(10^N = akM^2 + bM\),\(\left\lfloor\dfrac{10^N\bmod M^2}{M}\right\rfloor=\frac{bM}{M}=b\)
B.Reversible Cards
简要题意:每张卡片有正反两面,每面都有一个颜色,可以选择任意一面朝上,求出最后朝上的面的不同颜色的面的数量的最大值
题解:将卡片的正反两面的颜色连边,最后形成的图中若一个连通块(设大小为\(cnt\))是一棵树,那么这个连通块的答案为\(cnt-1\),否则,若这个连通块为非树的连通图,则答案为\(cnt\)
因为树只有\(cnt-1\)条边,每条边对应了要选一个颜色,所以只有最多选\(cnt-1\)个颜色
C.Too Heavy
简要题意:有\(N\)个人,每个人有一个体重\(a_i\),手里有一个包\(p_i\),每个包的重量为\(b_i\),每次可以选择两个人,交换他们手中的包,若一个人当前手中的包超过了他的体重,他就会很虚(划掉),从而无法再与别人换包,求最后让每个人都能换到与其编号相同的包的最短操作序列
题解:将每个人的编号与其包的编号连边(其实就是最后那个包要换给的人),然后对于每个连通块(必定是一个环),我们找出最重的人,让他帮这个连通块的所有人换包即可(乐于助人)
D.Orientation
简要题意:给定一个\(N\)个点,\(M\)条边,让你给每条边定向,使得点\(i\)能到达的点的数量为\(c_i\)
题解:对于一条边\((u,v)\),若\(c_u\neq c_v\),则由\(c\)较大的连向较小的,因为如不这样做,\(c\)值较小的那个点能到达\(c\)值较大的那个点能到达的所有点,并且还能到达\(c\)值较大的点,矛盾。
若\(c_u=c_v\),则我们建立一个新图,在新图上的\((u,v)\)连一条边
因为题目保证有解,所以最后的新图一定是一个个连通块,每个连通块都是一个环,否则环和链相接的那个点和它所连接的环上的点的\(c\)不可能一样
在每个环上\(dfs\)一圈,都定同一个方向即可
E.Simple Math 3
类欧神题,等学了类欧再来补(to do++)
标签:10,连通,简要,题意,ARC111,题解,cnt 来源: https://www.cnblogs.com/ctt2006/p/14396334.html