Record - Nov. 15th, 2020 - Training REC
Problems | States |
---|
#6376. 卢卡斯定理 | AC |
#18403. 序列统计 | AC |
#4126. 吉夫特 | AC |
#18737. 组合数问题 | IP |
#240. Combination | AC |
#3910. 超能粒子炮・改 | AC |
#16111. Perm 排列计数 | AC |
Problem. 1 Junior - Wasted
Template.
Problem. 2 Junior - Formula
ANS≡i=1∑n(r−li+r−l)≡(r−l+1n+r−l+1)−1 (modp)
Problem. 3 Senior - Formula & Thinking
i=2∏k(abiabi−1)≡i=2∏k(⌊2abi⌋⌊2abi−1⌋)×(abimod2abi−1mod2)(mod2)
式子后面的 (abimod2abi−1mod2) 一共有四种情况,其中只有 (10)=0。其他都为 1。
意味着只要出现 abi−1≡0mod2 且 abi≡1mod1 的情况,整个式子就为零了。
结论:(mn)≡0 (mod2) 当且仅当 nbitandm=m。
证明(也许不是特别严谨):我们可以知道:
(mn)=(⌊2m⌋⌊2n⌋)×(mmod2nmod2)=(⌊2⌊2m⌋⌋⌊2⌊2n⌋⌋)×(⌊2m⌋mod2⌊2n⌋mod2)×(mmod2nmod2)=⋯
我们发现:
(⌊⋯⌊2⌊2m⌋⌋⌋⌊⋯⌊2⌊2n⌋⌋⌋)
这一坨,就是在一直进行二进制移位,shr1。
那么我们可以得出一个结论:如果对于我们记 (n)k 表示 n 在二进制意义下的第 k 位。(n)k∈[0,1]
那么对于 ∀i,有 (n)i=0 且 (m)i=1,那么 (mn)≡0 (mod2)。
所以 nbitandm=m,证毕。
我们题目要求的是最后算出来是个奇数,那么就不能存在 abi−1bitandabi=abi。
也就是 abi 为 abi−1 的子集。
接下来我们可以设计一个 DP,我们设 fi 为以 ai 为开头的答案。
那么转移就是加法原理:
fi=fi+fj,j∈ai∧tj>i
其中 ti 表示 i 在序列中的位置。
时间复杂度由二项式定理可知是 Θ(3log2max{ai})。
Problem. 4 Senior - Formula
p=109+7 i=0∑nj=0∑min{i,m}[k∣(ji)]=i=0∑nj=0∑min{i,m}[k∣(ji)]
Problem. 5 Junior - Wasted
Template.
Problem. 6 Junior / Senior - Formula
p=2333f(n,k)≡i=0∑k(in)≡i=0∑k(⌊pi⌋⌊pn⌋)×(imodpnmodp)≡i=1∑p−1((inmodp)×j=0∑k(⌊pi⌋⌊pn⌋)[jmodp=i])≡i=1∑p−1(inmodp)×j=0∑⌊pk−i⌋(i⌊pn⌋)≡i=1∑p−1((inmodp)×f(⌊pn⌋,⌊pk−i⌋)) (modp)
Problem. 7 Senior - Thinking
是个堆,于是 fi=f2i×f2i+1×(S2iSi−1)。