数学
文章平均质量分 67
neither_nor
这个作者很懒,什么都没留下…
展开
-
BZOJ4591 [Shoi2015]超能粒子炮·改
由于模数较小,考虑一下卢卡斯定理在模p意义下,将式子化简如图化简过程中由于带模的项可以预处理,所以把带除的项合并到一起n,k小于p的S可以预处理,C可以卢卡斯算#include#include#include#include#include#include#include#include#include#include#include#includ原创 2016-06-15 18:29:26 · 1392 阅读 · 0 评论 -
BZOJ4766 文艺计算姬 线代推法
orz ljss考虑用矩阵树算把基尔霍夫矩阵去掉最后一行一列之后分块一下,左上角是n*n的对角线为m的矩阵A,右上角是全为-1的n*m-1的矩阵B,左下角是全为-1的m-1*n的矩阵C,右下角是对角线为n的m-1*m-1的矩阵设为D由分块矩阵行列式知行列式=|A|*|D-C*(A^-1)*B||A|=m^n,考虑求后面那个行列式A^-1为A的逆,是n*n的对角线为1/m的矩阵原创 2017-03-24 13:09:37 · 1061 阅读 · 0 评论 -
BZOJ2956 模积和
∑i=1n∑j=1m[i!=j](n%i)(m%j)\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}[i!=j](n\%i)(m\%j) =∑i=1n∑j=1m(n%i)(m%j)−∑i=1n(n%i)(m%i)=\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}(n\%i)(m\%j)-\sum\limits_{i=1}^{n原创 2017-04-07 08:44:07 · 572 阅读 · 0 评论 -
BZOJ4710 [Jsoi2011]分特产
我们可以考虑先计算出不限制每个人必须分得至少一个特产的方案数,设为f,然后利用容斥原理得出每个人至少分得一个特产的方案数,设为gg[i]=f[i]-sigma j=1 to i-1 C(i,j)*g[j]那么只需考虑如何求f,设f[i][j]表示前i种特产,一共j个人,不要求每人至少分一个的方案数,则f[0][j]=1,f[i][j]=f[i-1][j]*C(a[i]+j-1,j-1),即原创 2017-01-18 10:58:30 · 767 阅读 · 0 评论 -
BZOJ2986 Non-Squarefree Numbers
我们可以考虑二分答案,那么考虑如何求n以内的non-squarefree numbers有多少个考虑容斥,个数为n减一定是1个质数的平方的倍数的个数加一定是两个质数的平方的倍数的个数减……那么就是sigma n/(i*i)*mu[i]mu为莫比乌斯函数这样的话i枚举到根号n就行了#include#include#include#include#include#incl原创 2017-01-17 11:41:19 · 739 阅读 · 0 评论 -
BZOJ4724 [POI2017]Podzielno
先猜结论:一个B进制数+B-1后各位数字之和模B-1意义下不变证明:+B相当于在次低位+1,-1相当于在最低位-1,如果某一位加一,如果进位,则下一位会加一,这一位会减去B-1,所以对各位数字之和模B-1意义下的影响是+1如果某一位减一,如果退位,则下一位会减一,这一位会加上B-1,所以对各位数字之和模B-1意义下的影响是-1所以原数+B-1后各位数字之和在模B-1意义下不变那原创 2016-12-20 20:44:18 · 877 阅读 · 0 评论 -
BZOJ3114 Uva12546 Lcm Pair Sum
考虑a和b的lcm是n的条件,发现是对于每个质数的幂次,max(a的幂,b的幂)=n的幂然后你会看到m很小,然后考虑枚举每个质数是a的幂次和n相等还是b的幂次和n相等,复杂度T2^n*n然后你就T了,因为T是500的然后你可以用lowbit优化一下变成T2^n,可是没什么卵用,时限两秒还是T了然后你发现每一位是独立的,所以不需要2^n枚举,每位单独算然后乘起来就行了#include原创 2016-12-30 14:29:09 · 681 阅读 · 0 评论 -
BZOJ1488 [HNOI2009]图的同构
我们可以把每条边存在或者不存在看成是黑和白两种颜色然后这个题就充斥着一股ploya定理的气息但是有关边的置换太蛋疼,我们考虑把点的置换对应到边上找找规律,我们发现对于一个点的置换,如果其存在一个循环节大小为x,那么这x个点的边之间会形成x/2个循环节,如果其存在两个循环节大小分别为x和y,那么两个循环节里的点之间的边会形成gcd(x,y)个循环节我们考虑爆搜点置换,每次枚举当前最大原创 2016-12-29 18:32:40 · 1097 阅读 · 0 评论 -
BZOJ4705 棋盘游戏
TC SRM 555 DIV1 的原题……我们发现进行了一系列操作后黑格子的数量只与有多少行被进行了奇数次操作以及有多少列被进行了奇数次操作有关假设有i行进行了奇数次操作,j列进行了奇数次操作,那么黑格子的数量等于i*m+j*n-2*i*j那么我们枚举一个i,如果n-2*i不得0,那么j=(s-i*m)/(n-2*i),否则如果i*m==s,则j可以取0~min(c,m)之间的任意值原创 2016-11-03 15:55:43 · 813 阅读 · 1 评论 -
BZOJ4373 算术天才⑨与等差数列
考虑一段区间排序后是等差为k的数列的条件首先特判k=0,如果区间最大值与最小值相等则合法否则首先区间不能有重复,记录每个点的上一个与他权值相等的点的位置fro,区间取fro最大值之后判断是否在区间左边然后设区间长度为len,则区间最大值必须等于区间最小值+(len-1)*k满足上边两个条件之后,只要满足区间内每个点的权值模k都相等即可考虑求关于x的同余方程a同余b模x的解,则原创 2016-09-07 18:10:12 · 902 阅读 · 0 评论 -
BZOJ2242 [SDOI2011]计算器
第一问快速幂,第二问扩欧或者快速幂,第三问BSGS,模板题#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define MAXN 1010#def原创 2016-08-25 15:23:24 · 429 阅读 · 0 评论 -
BZOJ3629 [JLOI2014]聪明的燕姿
首先我们要知道怎么求一个数的约数和……假设我们要求n的所有约数和,那么因为很好证所以证明略过然后呢……我们就记录当前的还需要的约数和和当前的数,爆搜每个质数的指数……然后因为大于根号的质因数只能有一个,所以我们每次判一下当前还需要的约数和-1是否是质数就可以了……#include#include#include#include#include#include#inclu原创 2016-09-12 09:48:20 · 895 阅读 · 0 评论 -
BZOJ1406 [AHOI2007]密码箱
题里要你求x^2=1(mod n),0化简一下相当于求n|(x+1)(x-1)的解这样的话必然可以把n分解成n1*n2,其中n1是x+1的约数,n2是x-1的约数n1和n2中必有一个大于等于根号n,我们枚举这个大于等于根号n的,然后枚举他的倍数作为x+1或者x-1,然后判断可不可行即可这样会落掉1,把1再加到答案里就好了#include#include#include#i原创 2016-08-29 15:25:16 · 839 阅读 · 0 评论 -
BZOJ3157/3516 国王奇遇记/(加强版)
推式子如下图用类似记忆化搜索的东西即可求S特判m=1#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define MAXN 1010#define MAX原创 2016-07-11 21:06:56 · 2001 阅读 · 0 评论 -
BZOJ4403 序列统计
L~R就相当于0~R-L长度为n,元素的值取0~m的不降序列个数就是对长度为1~n的求和就是上卢卡斯定理#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespac原创 2016-06-16 17:20:51 · 1044 阅读 · 0 评论 -
BZOJ4816 [Sdoi2017]数字表格
我们要求∏i=1n∏j=1mf[gcd(i,j)]\prod\limits_{i=1}^{n}\prod\limits_{j=1}^{m}f[\gcd(i,j)]构造函数g,使得∏i|ng[i]=f[i]\prod\limits_{i|n}g[i]=f[i] 那么要求的就变成了∏i=1n∏j=1m∏d|iandd|jg[d]\prod\limits_{i=1}^{n}\prod\limits_{j原创 2017-04-11 17:07:21 · 398 阅读 · 0 评论