摘要:
普通的牛顿二项式定理在高中学习过的,当乘方为正整数的时候,但是有些时候需要用到不一定是正整数的情况(比如生成函数),需要用到分数或者负数等等,于是广义牛顿二项式定理就出来了。 首先我们引入牛顿二项式系数${r \choose n}$。 牛顿二项式系数定义: 设r为实数,n为整数,引入形式符号 $${ 阅读全文
摘要:
C++常见的读入方式有两种: 与 但是当遇到一些毒瘤题非常卡时间或者想装逼的时候,上面两种方式就不够快了。这时候就是快读大显身手的时候。 众所周知C++中读入速度getchar>scanf>cin,于是我们就单个字符单个字符的读入。 但是如果碰到了某些毒瘤数据,有大量空格,还是不要用快读较好 阅读全文
摘要:
有时候,我们需要使用数组下标来维护某些数据结构(例如并查集),但如果数据范围太大我们开不了这么大的数组,这时候,我们就要将数据进行离散化。例如数据{99844531,75331434,87433476,67542347}我们可以根据相对大小关系67542347<75331434<87433476<9 阅读全文
摘要:
我们都知道欧拉筛又称线性筛,能在O(n)的时间复杂度内筛出n以内的所有质数,而我们只要在线性筛的代码上改良一下就能求出n以内所有数的欧拉函数了。筛质数时,设外层在枚举%i%,内层枚举到$prime[j]$,这时有两种情况: $i\%prime[j]$不为$0$,也就是说,$i$与$j$互质,根据欧拉 阅读全文