Rank | Solved | A | B | C | D | E | F | G | H | I | J |
---|---|---|---|---|---|---|---|---|---|---|---|
88/821 | 3/10 | . | Ø | Ø | O | Ø | Ø | O | . | Ø | O |
O
: 当场通过
Ø
: 赛后通过
.
: 尚未通过
A Absolute
unsolved
B Counting Permutations
upsolved by chelly
chelly's solution
C Cover
upsolved by chelly
chelly's solution
D Game
solved by chelly
chelly's solution
签到,全是YES
E Hack It
upsolved by ch
ch's solution
F Matrix
upsolved by chelly
chelly's solution
G Naive Operations
solved by chelly
chelly's solution
因为给的b是排列,所以均摊对答案贡献是(nlogn)级别的,于是就可以用线段树暴力模拟
H Odd Shops
upsolved by chelly
chelly's solution
首先有个结论,就是(f(x)^2=f(x^2) (mod 2)),这就使得多项式的幂在模2意义下可以降次
那么对于这个问题,就可以把它拆成(log(n))个括号的乘积,其中每个括号里面有不超过11项,但是次数会很高,所以这个东西并没有很好的解法
可以考虑,在降幂的过程中,我们要处理的是(f(x)^{2k}g(x))的形式,其中(f(x))就是刚开始读入的那个多项式,(g(x))是我们在之前降幂过程中留下的单独括号的卷积
我们可以把(g(x))中次数为奇数的项和偶数的项单独拿出,比如(x^0+x^1+x^4+x^5+x^7)可以拆成(x^0+x^4)和(x^1+x^5+x^7)
(f(x)^{2k}g(x)=f(x^2)^kg(x)),容易发现奇数项和偶数项对答案的贡献是独立的,我们可以分开计算,比如上面的例子就是计算(f(x^2)^k(x^0+x^4))和(f(x^2)^k(x^1+x^5+x^7))
对于偶数项,我们把(x^2)看做整体,对于奇数项,我们先提出一个(x),再把(x^2)看作整体,那么就是要求(f(x)^k*(x^0+x^2))和(f(x)^k(x^0+x^2+x^3)),这样就可以递归求解了
可以记忆化搜索,时间复杂度是(O(2^{11} imes log(n)^2))
I Segment
unsolved
J Swaps and Inversions
solved by syf
(ans=min(x,y) imes 逆序对个数)
Replay
本场由chelly和syf打的,ch去参加bupt camp了。
开局chelly切了D,syf切了J。后来chelly去想G,首先思考分块,但感觉复杂度很高,后来发现答案肯定不会超过nlogn,于是就用线段树暴力A了。之后syf一直在想E题的构造,但直到终场都没想出,chelly一直在搞F,但复杂度一直是(O(n^3)),无法降下来。于是挂机了三个半小时……