[BZOJ 4591] 超能粒子炮-改】的更多相关文章

Description 曾经发明了脑洞治疗仪&超能粒子炮的发明家SHTSC又公开了他的新发明:超能粒子炮·改--一种可以发射威力更加 强大的粒子流的神秘装置.超能粒子炮·改相比超能粒子炮,在威力上有了本质的提升.它有三个参数n,k.它会 向编号为0到k的位置发射威力为C(n,k) mod 2333的粒子流.现在SHTSC给出了他的超能粒子炮·改的参数,让你求 其发射的粒子流的威力之和模2333. Input 第一行一个整数t.表示数据组数. 之后t行,每行二个整数n,k.含义如题面描述. k<…
Link: 传送门 Solution: 记录一下推$\sum_{i=0}^k C_n^i$的过程: 其实就是将相同的$i/p$合起来算,这样每个里面都是一个可以预处理的子问题 接下来递归下去算即可 Tip:推式子时尽量化出与模数相关的量方便预处理 Code: #include <bits/stdc++.h> using namespace std; #define X first #define Y second #define pb push_back typedef double db;…
4591: [Shoi2015]超能粒子炮·改 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 178  Solved: 70[Submit][Status][Discuss] Description 曾经发明了脑洞治疗仪&超能粒子炮的发明家SHTSC又公开了他的新发明:超能粒子炮·改--一种可以发射威力更加 强大的粒子流的神秘装置.超能粒子炮·改相比超能粒子炮,在威力上有了本质的提升.它有三个参数n,k.它会 向编号为0到k的位置发射威力为C(n…
4591: [Shoi2015]超能粒子炮·改 题意:多组询问,求 \[ S(n, k) = \sum_{i=0}^n \binom{n}{i} \mod 2333,\ k \le n \le 10^{18} \] lucas定理,展开一层然后整除分块一下,不完整的块单独拿出来,就是 \[ S(n,k) = S(\frac{n}{p}, \frac{k}{p}-1)S(n \bmod p, p-1) + \binom{\frac{n}{p}}{ \frac{k}{p}} S(n \bmod p,…
题目链接:超能粒子炮·改 这道题的大体思路就是用\(lucas\)定理,然后合并同类项,就可以得到一个可以递归算的式子了. 我们用\(S(n,k)\)表示答案,\(p\)表示模数(\(2333\)是一个质数),那么有: \begin{aligned}S(n,k)&=\sum_{i=0}^k\binom{n}{i} \\&=\sum_{i=0}^k\binom{n\bmod p}{i \bmod p}\binom{\lfloor \frac{n}{p} \rfloor}{\lfloor \f…
4591: [Shoi2015]超能粒子炮·改 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 95  Solved: 33[Submit][Status][Discuss] Description 曾经发明了脑洞治疗仪&超能粒子炮的发明家SHTSC又公开了他的新发明:超能粒子炮·改--一种可以发射威力更加 强大的粒子流的神秘装置.超能粒子炮·改相比超能粒子炮,在威力上有了本质的提升.它有三个参数n,k.它会 向编号为0到k的位置发射威力为C(n,…
[BZOJ4591][SHOI2015]超能粒子炮·改 (卢卡斯定理) 题面 BZOJ 洛谷 题解 感天动地!终于不是拓展卢卡斯了!我看到了一个模数,它是质数!!! 看着这个东西就感觉可以递归处理. 令\(f(n,k)\)表示答案. \[\begin{aligned} f(n,k)&=\sum_{i=0}^k {n\choose i}\\ &=\sum_{i=0}^k {n/p\choose i/p}*{n\%p\choose i\%p}\\ &=\sum_{x=0}^{p-1}{…
P4345 [SHOI2015]超能粒子炮·改 题意 求\(\sum_{i=0}^k\binom{n}{i}\),\(T\)组数据 范围 \(T\le 10^5,n,j\le 10^{18}\) 设\(f(n,k)=\sum_{i=0}^k\binom{n}{i}\) \[ \begin{aligned} &f(n,k)\\ =&\sum_{i=0}^k\binom{n/p}{i/p}\binom{n\%p}{i\%p}\\ =&\sum_{j=0}^{k/p-1}\binom{n…
题目链接 loj#2038. 「SHOI2015」超能粒子炮・改 题解 卢卡斯定理 之后对于%p分类 剩下的是个子问题递归 n,k小于p的S可以预处理,C可以卢卡斯算 代码 #include<cstdio> #include<algorithm> inline long long read() { long long x = 0,f = 1; char c = getchar(); while(c < '0' || c > '9') c = getchar(); whi…
P4345 [SHOI2015]超能粒子炮·改 题意:求$\sum_{i=1}^{k}C(n,i)\%(P=2333)$ 肯定要先拆开,不然怎么做呢(大雾) 把$C(n,i)$用$lucas$分解一下 于是原式$=\sum_{i=1}^{k}C(n/P,k/P)*C(n\%P,k\%P)\%P$ 发现介个$k/P$是可以用整除分块搞的 于是拆开各个分块 $=C(n/P,0)*\sum_{i=0}^{P-1}C(n\%P,i)$ $+C(n/P,1)*\sum_{i=0}^{P-1}C(n\%P,…