Rank | Solved | A | B | C | D | E | F | G | H | I | J |
---|---|---|---|---|---|---|---|---|---|---|---|
53/514 | 5/10 | Ø | O | Ø | O | O | . | . | O | Ø | O |
O
: 当场通过
Ø
: 赛后通过
.
: 尚未通过
A The power of Fibonacci
upsolved by feynman
feynman’s solution
考虑对模数分解再合并,分解后循环节较小,可以直接做
B Quadratic equation
**solved by **
solution
转为求解二次剩余
C Inversions of all permutations
给 n n n个数 a i a_i ai, n < = 100000 n<=100000 n<=100000, 0 ≤ a i ≤ 100000 0\le a_i\le 100000 0≤ai≤100000, 和一个 b b b
求 ∑ b t i \sum b^{t_i} ∑bti ,其中 t i t_i ti表示某种排列的逆序对数(共 n ! n! n!种)
upsolved by chelly
chelly’s solution
D Knapsack Cryptosystem
折半暴搜+二分
E All men are brothers
并查集维护集合大小 + 组合计数
一开始有n人互不认识,每回合告诉你有两个人认识,认识具有传递性。
现在问你每个回合,挑选四个人,这四个人互不认识,有多少种挑选方法。
初始ans = C(n,4) res = C(n,2) res为选择两个陌生人的方案数
考虑每次合并两个人消除的影响,假设两个集合分别为x,y人,那么ans = ans - x * y * (res - x * (n - x) - y * (n - y) + x * y). 其中x * (n - x) 是之前对答案的贡献,减去了两次所以要加上x*y。
然后再更新res即可, res = res - x*y。
F Birthday Reminders
一个人过生日,有 n n n个朋友,告诉你哪些朋友会想起来祝福他,以及是在哪一时刻。
此外,每个朋友如果在 t t t时刻祝福他,还会通知另一个人在 t + 1 t+1 t+1时刻祝福他…
于是每个朋友都由一个附加属性,即要通知的朋友的编号,有 n ! n! n!种
现在问,在这 n ! n! n!种情况下,这个过生日的人最后收到礼物有多少种情况。(情况是指某个时刻收到多少礼物,具体看样例)
G Checkers
下跳棋
H Cutting Bamboos
给你 n n n颗竹子,每一颗初始高度为 h i h_i hi, n 2e5
现在有q次询问 q 1e5
每次询问,问对于一个区间 l , r l,r l,r,一共切 y y y次,(确保每次切掉的竹子总长一样),第 x x x次切的高度是多少?
精度 10-6
主席树+二分
I KM and M
upsolved by Feynman1999&chelly
chelly’s solution
类欧几里得
J Symmetrical Painting
排序、枚举3*N个关键点 ,可以递推(实际上就是求分段函数最值)
Dirty Replay
- I题,忘记了
1LL<<i