20200308模拟赛

孤人 提交于 2020-03-09 10:45:23

T1.开屏雷击:
Bitset Master
在这里插入图片描述

O(nm)O(nm)暴力。
出题人开了时限6s6s,然后心机的让m=3nm = 3n
奈何O(nm)O(nm)跑过了n=30000n = 30000的点。
O(nmw+n2)O(\frac {nm}w + n^2)算法:
每次合并的时候同时维护一个uu被多少个节点vv包含。
合并可以用 bitsetbitset优化成O(nmw)O(\frac {nm}w),
合并u,vu,v时可以考虑求出S(u)xorS(v)S(u) xor S(v)也就是集合中不同的点,然后对这些点维护一个uu被多少个节点vv包含,总共只会维护O(n2)O(n^2)次。
O(m)O(m)的解决先做完所有修改再询问的数据点的算法:
详见
O((n+m)log2n)O((n+m)\log^2 n)正解:
在这里插入图片描述
这个这个,。。就是就是。。。。
离线分治回答询问,
维护时间点因为总变化量是O(m)O(m)
所以是需要快速找,暴力修改。

T2:在这里插入图片描述
在这里插入图片描述
完全图(要写矩阵快速幂):

	if(m==n*(n-1)/2)
	{
		mat t;t.a[0][0]=0;t.a[0][1]=P-1;t.a[1][0]=1;t.a[1][1]=n+2;
		t=pw(t,k);int s=t.a[1][0];
		printf("%d\n",1ll*pw(n,n-2)*pw(s,n-1)%P);
		return 0;
	}

n<=5n<=5
BMBM
(不知道(n100)4(n*100)^4怎么过的。)

下面:
数理知识在这里插入图片描述
笛卡尔积:
在这里插入图片描述
说人话:你不需要知道什么是笛卡尔积。
在这里插入图片描述
很牛逼,我们又证明了一次某C定理。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
这题就是不想让人过的。
resultant:上面的PPT中有,具体就是对特征值的操作什么的。
在这里插入图片描述
PS: 如果这个题是复制kk个图然后两两对应编号连边就简单多了,只需要求两次行列式即可简单个锤子
在这里插入图片描述
T3:求x=1nlcm(x,x+1,,x+k)\sum\limits_{x = 1}^n \textrm{lcm}(x, x + 1, \dots, x + k)1e9+71e9+7 取模的结果。
在这里插入图片描述

猜想x(x+1)(x+k)x* (x + 1)* \dots*(x + k)lcm(x,x+1,,x+k)\textrm{lcm}(x, x + 1, \dots, x + k)有关。
f(x)=x(x+1)(x+k)lcm(x,x+1,,x+k)f(x) = \frac {x* (x + 1)* \dots*(x + k)}{\textrm{lcm}(x, x + 1, \dots, x + k)}
容易发现 f(x)f(x)是有周期的。
并且发现1616的周期是720720720720,就可以愉快的拉格朗日插值O(k2720720)O(k^2*720720)得到70pts70pts.
可以O(k720720)O(k*720720)
可以把求答案的式子化成i=0nrLci(Li+rk+1)\sum_{i=0}^{\frac {n-r}L} c_i\binom{L * i + r}{k+1}的形式。
再范德蒙德恒等式:
i=0nrLcij=0i(Lij)(rk+1j)=j=0i(rk+1j)i=0nrLci(Lij)\sum_{i=0}^{\frac {n-r}L} c_i \sum_{j=0}^i \binom{L * i}{j} \binom{r}{k+1-j} = \sum_{j=0}^i \binom{r}{k+1-j}\sum_{i=0}^{\frac {n-r}L} c_i\binom{L * i}{j}
对于这个题nrL\frac {n-r}L只有2个取值,所以预处理后面的Σ\Sigma然后就可以O(k)O(k)算了。
发现f(x)f(x)的质因数k\leq k
猜想:f(x)f(x)p(prime)p(prime)的次数和x(modpe)x\pmod {p^e}有关在这里插入图片描述
然后就把1...301...30的质数分成两组。
然后LL就是3e53e5的级别,然后双指针套卷积合并组合形式幂级数的式子就可以卡过了。
牛逼做法

还需要优化:
如:k=15,(mod13)k = 15 , \pmod {13}时。
在这里插入图片描述
基础贡献加入反例,贡献乘起来,我在复读
就是把x(modpe)x \pmod {p^e}pep^e类强行用人类智慧减少讨论范围,k=25k=25时只有4e54e5项容斥系数,可以直接过。
在这里插入图片描述

取模卡常小技巧

for
f += a * b
(f>=p^2) && (f -= p^2)
endfor
f %= p;

好像。。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!