原题选手或成最大赢家。
A: Chika’s Math Homework
题目大意
,求
题解
比赛的时候队友打表找规律大师秒杀。。太强大了。
可以看出来原式就是
。快速幂即可。
B: Letter Kingdom
题目大意
一个有向图有 个点, 条边,每个点有唯一一条出边,有 个士兵分布在各个点,有 次询问,可以是将编号在 内的士兵沿出边走到相邻点,或者是将编号是 的倍数的士兵沿出边走到相邻点,或者查询某个士兵现在在那个点。
题解
因为有向图每个点只有一条出边,因此从一个点出发必定会进入一个环,也就是一个环带一个尾巴的那种。所以我们预处理出来每个点出发走多少次能到那些点。
对于第一种操作,我们用树状数组维护每个士兵走了多少次,对于第二种操作,因为一个数的因数很少,我们每次标记
,那么在第三种操作查询的时候直接暴力
时间找到
的所有因数,统计一次,加上树状数组维护的值就可以知道这个士兵走了多少次了,也就知道走到哪个点。
C: Xor Tree
题目大意
给定一棵树, ,1为根节点,每个点有一个正的权值, 次询问,查询 到 路径上点权值与 的异或值最大为多少。
题解
我们先考虑序列上的情况。给定一个序列,我们每次查询区间上的数与x的异或值最大为多少。我们可以想到可持久化Trie。这样我们可以方便地得到区间的Trie,那么我们通过贪心就可以得到异或值的最大值了(即每次尽量走相反的位)。那么树上的话,树链剖分就可以解决了。
码力题。。不过30min还是能写完的。
D: Bipartite Coloring
题目大意
给定一个二分图,每个点的权值,以及点集 的两个不相交子集 ,
E: Lottery
题目大意
给定 ,求 ,使得 。
题解
我们变换一下形式(我们令
为自变量):
F: Find the Number
题目大意
有 , 个数字,C心里想一个数字 ,A和B轮流询问C, 是否大于某个数,C会回答是或者不是,然后对于A和B, 所在的范围就会缩小,直到区间长度为1的时候此时的人赢。
题解
令
表示剩下的
所在的可能区间的长度为i时的先手胜率,那么有:
令 ,那么有 。打表可以发现:
G: Commemorate
BZOJ 3514…
题目大意
N个点M条边的无向图,多次询问保留图中编号在 的边的时候图中的联通块个数。
H: Number String
题目大意
给定各个元素在
内的正整数序列,长度
。现在你可以使用两种操作:删掉一个数,或者合并两个相邻的数为两数的和(要求和不超过9),找到经过一些操作后能得到的字典序最大的序列,且操作次数最少。
如:182736,合并18,27,36得到999,操作次数为3。如6723,删去6,合并72得到93,操作次数为2。如67211,合并62,11得到92,操作次数为2。如900,不进行任何操作。
题解
贪心:我们从左到右扫,扫过的区间 如果恰好就可以组合出可以组合得到的最大的数(也就是说能组合得到 能组合到的最大的数的情况下 最小),那么将这个区间直接替换成最大的数,就可以了。
I: Convex Hull
题目大意
有不超过10组数据,有 个点( ),令为 ,以逆时针方向排序。一个点 是好的当 ,如果设这些点的凸包面积为 ,那么有 。现在你需要计算所有 围成的区域的面积,精度2位小数。
J: Maximum Minimum
题目大意
给定序列
,求
对 的模。
题解
我们计算出所有点作为最大值的区间和最小值的区间。然后线段树7个域暴力搞一发,舒服。