题目链接:超能粒子炮·改

  这道题的大体思路就是用\(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 \frac{i}{p} \rfloor}
\end{aligned}

  为了接下来方便表示,不妨设\(k=k_1p+k_2(k_2<p)\)

  我们按\(\lfloor \frac{i}{p} \rfloor\)的值进行分类计算。由于前面有\(k_1\)块是满的,最后一块不满,所以分两部分计算。

\begin{aligned}
S(n,k) &=\sum_{i=0}^k\binom{n\bmod p}{i \bmod p}\binom{\lfloor \frac{n}{p} \rfloor}{\lfloor \frac{i}{p} \rfloor} \\
&=\sum_{i=0}^{k_1-1}\binom{\lfloor \frac{n}{p} \rfloor}{i}\sum_{j=0}^{p-1}\binom{n \bmod p}{j}+\sum_{i=k_1p}^k\binom{n \bmod p}{i \bmod p}\binom{\lfloor \frac{n}{p} \rfloor}{\lfloor \frac{i}{p} \rfloor} \\
&=S(\lfloor \frac{n}{p} \rfloor,k_1-1)S(n \bmod p,p-1)+\binom{\lfloor \frac{n}{p} \rfloor}{k_1}S(n \bmod p,k \bmod p)
\end{aligned}

 所以预处理\(p\)以内的组合数以及组合数的前缀和就可以递归算了。组合数用\(lucas\)算一算就好。

BZOJ 4591 【SHOI2015】 超能粒子炮·改的更多相关文章

  1. Bzoj 4591: [Shoi2015]超能粒子炮·改 数论,Lucas定理,排列组合

    4591: [Shoi2015]超能粒子炮·改 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 178  Solved: 70[Submit][Stat ...

  2. bzoj 4591: [Shoi2015]超能粒子炮·改 [lucas定理]

    4591: [Shoi2015]超能粒子炮·改 题意:多组询问,求 \[ S(n, k) = \sum_{i=0}^n \binom{n}{i} \mod 2333,\ k \le n \le 10^ ...

  3. bzoj 4591 [Shoi2015]超能粒子炮·改——组合数前缀和

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4591 先说说自己的想法: 从组合意义的角度考虑,从n个里选<=k个,就添加k个空位置, ...

  4. 【BZOJ4591】[SHOI2015]超能粒子炮·改 (卢卡斯定理)

    [BZOJ4591][SHOI2015]超能粒子炮·改 (卢卡斯定理) 题面 BZOJ 洛谷 题解 感天动地!终于不是拓展卢卡斯了!我看到了一个模数,它是质数!!! 看着这个东西就感觉可以递归处理. ...

  5. 洛谷 P4345 [SHOI2015]超能粒子炮·改 解题报告

    P4345 [SHOI2015]超能粒子炮·改 题意 求\(\sum_{i=0}^k\binom{n}{i}\),\(T\)组数据 范围 \(T\le 10^5,n,j\le 10^{18}\) 设\ ...

  6. bzoj4591 / P4345 [SHOI2015]超能粒子炮·改

    P4345 [SHOI2015]超能粒子炮·改 题意:求$\sum_{i=1}^{k}C(n,i)\%(P=2333)$ 肯定要先拆开,不然怎么做呢(大雾) 把$C(n,i)$用$lucas$分解一下 ...

  7. BZOJ_4591_[Shoi2015]超能粒子炮·改_Lucas定理

    BZOJ_4591_[Shoi2015]超能粒子炮·改_Lucas定理 Description 曾经发明了脑洞治疗仪&超能粒子炮的发明家SHTSC又公开了他的新发明:超能粒子炮·改--一种可以 ...

  8. Lucas(卢卡斯)定理模板&&例题解析([SHOI2015]超能粒子炮·改)

    Lucas定理 先上结论: 当p为素数: \(\binom{ N }{M} \equiv \binom{ N/p }{M/p}*\binom{ N mod p }{M mod p} (mod p)\) ...

  9. 【bzoj4591】[Shoi2015]超能粒子炮·改 Lucas定理

    题目描述 曾经发明了脑洞治疗仪&超能粒子炮的发明家SHTSC又公开了他的新发明:超能粒子炮·改--一种可以发射威力更加强大的粒子流的神秘装置.超能粒子炮·改相比超能粒子炮,在威力上有了本质的提 ...

  10. bzoj4591 [Shoi2015]超能粒子炮·改

    Description 曾经发明了脑洞治疗仪&超能粒子炮的发明家SHTSC又公开了他的新发明:超能粒子炮·改--一种可以发射威力更加 强大的粒子流的神秘装置.超能粒子炮·改相比超能粒子炮,在威 ...

随机推荐

  1. oracle 9i/10gR2所有版本下载地址

    Oracle 9i Oracle9i Database Release 2 Enterprise/Standard/Personal Edition for Windows NT/2000/XP ht ...

  2. mysql引擎和事务

    对于应用程序和用户来说,同样一张表的数据无论用什么引擎来存储,看到的数据都是一样的,只是不同的引擎在功能.占用空间大小.读取性能等方面可能有所差别. mysql最常用的存储引擎为Innodb.MyIS ...

  3. mariadb的flashback到底怎么样???防误删可以,但算不上真正的闪回--再看mariadb 10.3的System-Versioned Tables

    mariadb 在10.2.4引入闪回特性,支持DML(INSERT, DELETE, UPDATE)操作的闪回,不支持DDL语句,使用闪回,必须设置binlog_row_image=FULL. 其原 ...

  4. markdown 换行

    基本语法 basic grammar line break

  5. bzoj 2733 永无乡 - 并查集 - 线段树

    永无乡包含 n 座岛,编号从 1 到 n,每座岛都有自己的独一无二的重要度,按照重要度可 以将这 n 座岛排名,名次用 1 到 n 来表示.某些岛之间由巨大的桥连接,通过桥可以从一个岛 到达另一个岛. ...

  6. [内核驱动] miniFilter 内核层与应用程序通信

    转载:http://blog.csdn.net/heyabo/article/details/8721611 转载:http://www.cnblogs.com/ljinshuan/archive/2 ...

  7. C/C++宏定义交换两个值

    #define SWAP(t,a,b) \ do{ \ t c = a; \ a = b; \ b = c; \ }); void main() { ,b=; SWAP(int,a,b); }

  8. Eclipse java项目将普通文件转化为Source文件的操作

    前提:该项目中已经将原有的Source folder删除掉. 右键单击普通文件>Build path>Use as Source Folder.

  9. topcoder srm 695 div1 -3

    1.称一个串的子串(连续一段)为$same$当且仅当这个子串所有字符都一样.子串不同当且仅当在原串中的起始位置不同.现在构造一个长度为$n$的只包含字符'a','b'的串$s$,使得$s$满足长度为$ ...

  10. 分块读取Blob字段数据(Oracle)

    试过了MSSQL的分块读取Blob字段,又尝试在Oracle下完成,发现还是可行的. 首先建立一个存储过程: create or replace procedure PRO_GET_BLOB(     ...