Codeforces Round #485 (Div. 2)
A.B.C
水题
D
题意
n个城镇,每个城镇有一种商品,共有m条无向边,共有k种商品,现要求在每个城镇都要有s种商品,你可以从其他城镇买过来,花费是这两点的距离,问n个点每个点获得s种商品,每个点的花费
(n,m<=1e5,s<=k<=min(n,100) )
分析
因为一共就有k种商品,将每种商品看做一个点,从这个点出发求到其他商品的最短路,也就是求出了其他所有点到当前商品的最短路,最后再在所有商品中取出最下的s种即可
时间复杂度(nklogn),注意数组的开的合适,否则大了会TLE
E
题意
初始给定一个 1∼n的全排列,经过 3n 次随机交换或者 7n+1次随机交换,得到一个新的全排列,问这个新的全排列是通过 3n 次随机交换还是 7n+1 次随机交换形成的 (n<=1e6)
分析
直接可以发现,3n 和 7n+1的奇偶性相反,考虑给一个1~n的排列,交换任意两个不同数对逆序数的影响,假设交换的是位置x的a[x],和位置y的a[y],由于不知道当前序列数的情况,无法直接算出改变的逆序数,我们可以每次只考虑相邻的两个,因为相邻的两个数交换逆序数只会变化1,所以考虑y移到x,需要(y-x)步,x+1移到y需要(y-(x+1))步,故逆序数变化为2*(y-x)-1,所以一定是奇数,故最后逆序数为奇,则一定交换的奇数次,反之则偶数
G
题意
分析
Summary:
开局开C的战略大胜啊,最好开局70+,反倒在第二题大崩,第四题最后十分钟也不评测不返回结果