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