这一版是mx发明的MTT 速度极快,精度基本有保证,在奇技淫巧无效时可以考虑这个东西... (但是无论如何我都不想用真正的任意模数NTT,那种东西简直毒瘤而且常常数巨大...) 原理:并不关心 Read More
posted @ 2019-06-19 13:50 lleozhang Views(280) Comments(0) Diggs(0) Edit
好毒瘤的一道题啊... 对每个$a_{i}\in S$,设$F(x)$为用$j$个$a_{i}$构造出$ja_{i}$的生成函数,那么$F(x)=\sum_{j=1}^{∞}x^{ja_{i}}$ 根据这篇博客里的内容,可以求得:$F(x)=\frac{1}{1-x^{a_{i}}}$ 设$t_{i Read More
posted @ 2019-06-18 17:31 lleozhang Views(168) Comments(0) Diggs(0) Edit
有两种推导方法: 第一种: 设状态$f(i)$表示有$i$个点的无向连通图个数,$g(i)$表示有$i$个点的无向图个数,那么显然$f(n)$即为我们所求,而$g(i)=2^{\frac{i(i-1)}{2}}$ 于是写出一个递推:枚举$1$号点所在的连通块,可得:$g(n)=\sum_{i=1}^ Read More
posted @ 2019-06-18 13:35 lleozhang Views(162) Comments(0) Diggs(0) Edit
问题:已知一个多项式$F(x)$次数为$n-1$,求一个多项式$G(x)$满足$G(x)\equiv e^{F(x)}$($mod$ $x^{n}$) 保证$F(x)$常数项为$0$ 好像有点困难... 首先有一个基础知识: 我们可以用牛顿迭代求出一个多项式的多项式零点 也即已知一个多项式$F(x) Read More
posted @ 2019-06-14 17:28 lleozhang Views(1804) Comments(0) Diggs(0) Edit
题意:求$\sum_{i=0}^{n}\sum_{j=0}^{i}S(i,j)2^{j}j!$ 一看就觉得不可做... 但是还是需要仔细分析的 最重要的是一步转化: 根据第二类斯特林数的定义:$S(n,m)$表示将$n$个不同物品分到$m$个集合中的方案数 然后考虑求和式里面那个东西,发现其含义就是 Read More
posted @ 2019-06-13 18:57 lleozhang Views(130) Comments(0) Diggs(0) Edit
计数好题 首先看到这种问题直接想到的应该是polya定理 可是对颜色使用个数有限制啊! 没关系,我们分析一下polya定理的表达式: $\frac{1}{|G|}\sum_{i=1}^{n}m^{c_{i}}$ 可以看到,这其中的每一项等价于用$m$种颜色对每个循环节任意染色的方案数(即对每个循环节 Read More
posted @ 2019-06-12 18:05 lleozhang Views(194) Comments(0) Diggs(0) Edit
问题:已知一个次数为$n-1$的多项式$F(x)$,求一个多项式$G(x)$使得$G(x)\equiv ln(F(x))$($mod$ $x^{n}$) (保证$F(x)$常数项为1) 这个比较简单: 两边求导,得: $G^{'}(x)\equiv \frac{F^{'}(x)}{F(x)}$($m Read More
posted @ 2019-06-12 16:19 lleozhang Views(831) Comments(0) Diggs(0) Edit
问题:已知一个多项式$F(x)$次数为$n-1$,求一个多项式$G(x)$使得$(G(x))^{2}\equiv F(x)$($mod$ $x^{n}$) (保证常数项为$1$) 仍然是推式子 首先,不难发现的是如果$F(x)$次数为0,那么$G(x)=1$ 类似多项式求逆,我们倍增处理: 设已知$ Read More
posted @ 2019-06-12 16:14 lleozhang Views(890) Comments(0) Diggs(0) Edit
多项式求逆是多项式除法的基础,如果你不会多项式求逆,请看这里 问题:已知两个多项式$F(x)$(次数为n),$G(x)$(次数为m),求两个多项式$Q(x)$与$R(x)$,满足$F(x)=G(x)Q(x)+R(x)$,所有运算在模998244353意义下进行 推一发式子: $F(x)=G(x)Q( Read More
posted @ 2019-06-12 08:25 lleozhang Views(2222) Comments(0) Diggs(0) Edit
问题: 已知一个次数为$n-1$的多项式$F(x)$,求一个多项式$G(x)$使得$F(x)*G(x)\equiv 1$($mod x^{n}$),所有运算在模998244353意义下进行 怎么搞? 先进行一点分析: 如果$F(x)$只有一项,那么$G(x)$里也只有一项,就是$F(x)$里那项的逆 Read More
posted @ 2019-06-12 08:11 lleozhang Views(545) Comments(0) Diggs(0) Edit
生成函数在计算方案数以及计算递推公式时都有很大的作用,本文对生成函数的知识做一个初步的介绍(主要是博主自己不会) 一.基本定义: 给出序列{$a_{n}$}={$a_{0},a_{1},a_{2}...a_{n}$},构造一个函数(或者多项式)$F(x)=a_{0}+a_{1}x+a_{2}x^{2 Read More
posted @ 2019-06-11 20:49 lleozhang Views(477) Comments(0) Diggs(0) Edit
一道生成函数例题 如果对生成函数的知识不太了解,看这里 下面认为你已经了解了生成函数的内容 那么看见这种问题直接上生成函数嘛! 直接构造...10个生成函数 福利时间:这10个生成函数如下: $F(x)=1+x^{6}+x^{12}+...=\frac{1}{1-x^{6}}$ $F(x)=1+x+ Read More
posted @ 2019-06-11 20:47 lleozhang Views(216) Comments(0) Diggs(0) Edit
题意:给出n条线段,判断是否存在一条直线使所有线段在这条直线上的投影有公共部分 首先,如果存在这样的一条直线,那么这条直线的一条垂线一定穿过每一条线段,反之亦然,因此问题就转化成了是否存在一条直线能穿过所有线段 n条线段共2n个点,我们枚举任意两个点构造一条直线与所有线段判断交点即可 注意n=1与n Read More
posted @ 2019-06-05 21:27 lleozhang Views(278) Comments(0) Diggs(0) Edit
题意:给出一个矩形区域和n条分割线,将分出的$n+1$个区域从左向右从0到n编号,给出一些点,问落在每一个区域里的点的数量 计算几何裸题 由于题目中限制挡板不相交且从左向右给出,因此直接从左向右枚举每一个挡板,用叉积判断这个点在这个挡板的左侧还是右侧即可 具体的,我们记录每个挡板的下面的点的坐标和这 Read More
posted @ 2019-06-05 21:24 lleozhang Views(151) Comments(0) Diggs(0) Edit
一道很有趣的题 根据期望的可加性,我们只需计算出每个点实际被使用的概率然后乘上贡献累加即为最后答案 于是问题就转化成了求每个点被使用的概率 我们从头开始分析:对于第一个点,他被使用的概率就是$1-(1-p_{1})^r$ 这一点很好理解,因为每次我们开头就遇到了第一个点,那么第一个点没被用的概率就是 Read More
posted @ 2019-06-04 21:15 lleozhang Views(166) Comments(0) Diggs(0) Edit
这并不是真正的任意模数NTT,只是一种奇技淫巧,但是由于码量小而且有效,所以写在这里 在卷积问题中,如果我们要求对答案取模,而且答案不取模会爆long long,但模数原根并不好甚至不是质数,这该怎么办呢? 直接提出一种方法:取一个阈值M,将原本的一个多项式拆分成两个多项式,系数分别为$A_{i}/ Read More
posted @ 2019-06-04 20:28 lleozhang Views(592) Comments(0) Diggs(0) Edit
在做本题之前,你需要一个预备知识:任意模数NTT 如果不会,请看这里 (其实那个不是真正的任意模数NTT,而是一种奇技淫巧,但是...能用就行!) 然后我们来讨论本题 首先不难发现,后来的一个数$A$的二进制表示一定至少有一位上是$1$,且原来的数上这一位都是$0$ 这是很显然的,否则无法满足$B$ Read More
posted @ 2019-06-04 20:23 lleozhang Views(312) Comments(0) Diggs(0) Edit
线段树维护概率好题 设状态$f(i)$表示从$i$走到终点的概率 不妨令起点为$1$,终点为$n$ 那么有转移:$f(i)=(1-p(i))f(i-1)+p(i)*f(i+1)$ 移项,得: $p(i)[f(i+1)-f(i-1)]=f(i)-f(i-1)$ 令$g(i)=f(i)-f(i-1)$ Read More
posted @ 2019-06-04 20:08 lleozhang Views(278) Comments(0) Diggs(0) Edit
一道略有难度的dp 设状态$dp[i][j]$表示长度为$i$,开头高度为$j$且为山峰的方案数 考虑到一个序列是对称的,所以总方案数即为$2*\sum_{i=2}^{n}dp[n][i]$ 这样我们只需考虑转移即可 首先,我们发现,如果两个数$i$与$i+1$不相邻,那么交换这两个数之后方案数不变 Read More
posted @ 2019-06-03 20:49 lleozhang Views(143) Comments(0) Diggs(0) Edit
非常简单的组合数学+容斥原理 直接计算不好计算,我们用容斥原理计算:所有人随便选-至少有一个人没有礼物+至少有两个人没有礼物... 假设我们有$i$个人没有礼物,那么方案数为$C_{n}^{i}\prod_{j=1}^{m}C_{a[j]+n-i-1}^{n-i-1}$ 后面那个组合数的含义是对于每 Read More
posted @ 2019-06-03 20:14 lleozhang Views(121) Comments(0) Diggs(0) Edit
BSGS是Baby-step-Giant-step的简写,是用来求解一类问题的算法 模型:求解方程$A^{x}\equiv B$ mod $C$,保证C为质数 首先,我们分析一下暴力的方法:直接从0开始枚举x计算,直到求出答案为止 时间复杂度? $O(C)$ 等等,为什么是$O(C)$? 根据费马小 Read More
posted @ 2019-06-03 19:43 lleozhang Views(437) Comments(0) Diggs(0) Edit
基本同bzoj 1815,一个图的边用或者不用可以看做黑白染色,这样就是bzoj 1815在m=2,p=997时的特例了 bzoj 1815没做过看这里 (这两道题有一点要注意:在计算时里面有一个部分是指数,千万不要一不小心在算指数的时候也取了模!!!) 贴代码: Read More
posted @ 2019-06-03 17:31 lleozhang Views(199) Comments(0) Diggs(0) Edit
polya定理板子题... 其实本题难度并不大,但是对我这种初学群论的蒟蒻还是很大一个挑战 首先看见这种带同构的计数,我们应该先把polya扔进来 $ans=\frac{1}{|G|}\sum_{i=1}^{|G|}m^{c(p_{i})}$ 然后我们挨个去找就好了 $G$显然是一个对应边置换的置换 Read More
posted @ 2019-06-03 17:26 lleozhang Views(238) Comments(0) Diggs(0) Edit
群论 一.基本定义 群:给定一个集合$G=${a,b,c...}和集合上的二元运算$"·"$,要求满足下面四个条件 ①.封闭性:对于任意$a,b\in G$,一定存在$c\in G$,使得$a·b=c$ ②.结合律:对于任意$a,b,c\in G$,有$(a·b)·c=a·(b·c)$ ③.单位元: Read More
posted @ 2019-05-31 20:56 lleozhang Views(7080) Comments(2) Diggs(3) Edit
一道看似是期望,其实与期望关系并不是特别大的题... 首先分析一下题意: 虽然题目中提到的是边,但事实上完全可以把每一条边的贡献放进左端点上(因为无论从哪个方向经过这条边都是计算左端点的代价) (题目中的提示多么明显啊!!!收费站显然是按点收费嘛...) 因此,在修改区间$[l,r]$的边权时,我们 Read More
posted @ 2019-05-30 21:20 lleozhang Views(175) Comments(1) Diggs(0) Edit
考完THUSC2019回来的我发现自己对概率与期望一无所知... 因此这一篇应该是填一个(给自己)挖了差不多两年的坑... 接下来详细介绍概率与期望问题: (接下来所有内容均是按个人理解进行的表述,如有问题请不吝指出!) 一.概率 定义:在大量进行的实验中,一个事件发生的频率会稳定在一个定值,这个定 Read More
posted @ 2019-05-30 13:58 lleozhang Views(1152) Comments(0) Diggs(0) Edit
极其神的一道题 首先看到:环上问题并不好做,所以我们按套路拆环之后扔到序列上 接下来,我们来分析一下这个游戏的最优策略 最优策略一般有两种表述,这里一并给出 ①:在原地等到某一个时间点从某一个起点开始走,不停留地恰好走完一圈达到结束,取所有可行方案中最小值 ②:从某一个点为起点开始走,对每个点如果没 Read More
posted @ 2019-05-21 19:35 lleozhang Views(171) Comments(1) Diggs(0) Edit
一道用线段树维护单调栈的典型问题 首先不难把问题转化成一个斜率模型,设任意一栋楼坐标为$x_i$,高度为$y_i$,那么这栋楼的“斜率”即为$\frac{y_{i}}{x_{i}}$ 那么不难发现,题目要求的是一个斜率上升的序列,而且必须从前向后依次选择 那么首先考虑暴力,不难发现,暴力每求一次是$ Read More
posted @ 2019-05-21 19:00 lleozhang Views(163) Comments(1) Diggs(0) Edit
好神的一道题啊... 码量极小... 题意:求树上从根到叶节点的最长不下降子序列 怎么搞? 最显然的思想是树形dp,也是绝大多数的做法,但本蒟蒻不会... 所以我们换成玄学方法... 首先,我们仍然借助树形dp的思想,维护以某一个节点为根节点的子树信息 那么,我们不难发现,一个点如果能对其上的点产生 Read More
posted @ 2019-05-21 18:34 lleozhang Views(180) Comments(1) Diggs(1) Edit
一道很有趣的题...难度并不是很大,基本可以接受 显然这是一个构造问题 我们分成几类进行讨论: 首先,如果目标是非正数,那一定是不可能的(显而易见) 然后,如果目标比允许操作的和还要大,那也是不可能的 剩下的情况就不那么显然了,我们先假设有解再进行讨论 (插播一句:强烈建议食用样例!!!对正解有很大 Read More
posted @ 2019-05-18 14:27 lleozhang Views(153) Comments(0) Diggs(0) Edit
矩阵树定理裸题 首先介绍一下矩阵树定理: 矩阵树定理是用来解决一个图上生成树个数的问题,可以分为无向图矩阵树定理和有向图矩阵树定理,而本题应用的是无向图矩阵树定理 那么首先提出几个概念: 一.邻接矩阵: 这个应该都知道... 就是这样一个矩阵:第$u$行第$v$列的元素为1的条件是当且仅当$(u,v Read More
posted @ 2019-05-15 20:58 lleozhang Views(228) Comments(0) Diggs(0) Edit
一道乱搞的题... 题意:给你两个字符串,每次操作步骤如下:从前向后扫描整个字符串,对于每一位都有两种选择,一种是保持原来的字符不变,另一种是把这一位上的字符变成和前一位一样(注意是操作后的前一位),问你至少需要多少次操作才能将第一个字符串变成第二个字符串,如果不可能输出-1 题解: 看到网上所有人 Read More
posted @ 2019-05-12 19:55 lleozhang Views(146) Comments(0) Diggs(0) Edit
高斯消元解期望方程组题目 其实所谓解期望方程组,就是解普通方程组,只是这个方程组是根据期望的定义列出的。 对于本题,每一条边对总期望的贡献就是这条边的边权乘上这条边期望的经过次数,所以我们求出每条边期望的经过次数后从大到小排序,然后从小到大赋边权(编号)即可 所以问题就转化成了如何求出每条边经过次数 Read More
posted @ 2019-05-06 21:09 lleozhang Views(102) Comments(0) Diggs(0) Edit
裸的高斯消元解异或方程组问题 对于每个点列一个异或方程,所有影响这个点的点的对应系数为1,然后高消解一下就好 自由元用dfs处理,注意剪枝 Read More
posted @ 2019-05-06 20:50 lleozhang Views(148) Comments(0) Diggs(0) Edit
首先你需要一些Nim游戏的知识! 看这里 现在假设你已经会了Nim游戏的知识了 那么我们就可以讨论这道题了 首先,根据上面提到的:如果所有数量异或和为0,那么这就是不合法的 而且,其实由于后手可以取走一些堆,所以只要是这些堆数量的一个子集异或和为0就是不合法的(因为后手可以把这个子集以外的部分全取走 Read More
posted @ 2019-05-06 20:47 lleozhang Views(185) Comments(0) Diggs(0) Edit
裸的线性基+贪心... 把权值从大到小排序后逐个将编号插入线性基中,如果这个编号已经能用线性基中的值表示出来了就不插入 为什么这么做是正确的? 线性基定义 我们希望总权值最大,所以当然从大到小排序 然后逐个插入线性基中,如果我们惊喜地发现这个值已经能用线性基中元素表示出来,说明线性基中一定存在一个元 Read More
posted @ 2019-05-06 20:18 lleozhang Views(156) Comments(0) Diggs(0) Edit
这是Nim游戏的一个入门认识: Nim游戏是一个经典的博弈问题,在讨论这个问题之前,我们需要先知道一些博弈问题的基础知识,放在这里 接下来认为你已经知道了这些基础知识 首先介绍Nim游戏的含义:有n堆石子,每个人每次可以从一堆中取出一定数量的石子(可以全取走但不能不取),求是否存在先手必胜的策略,也 Read More
posted @ 2019-05-06 16:47 lleozhang Views(180) Comments(0) Diggs(0) Edit
这一篇是对博弈论的简单介绍,主要提出一些概念 一.游戏: 博弈论中研究的游戏主要具有以下几个特征: ①:游戏有两个人参与,两个人轮流参与决策 ②:在游戏中的任意时刻,游戏中的任何一方都知道当前游戏的所有信息(所以扑克,麻将等基本不在博弈论研究范围之内,因为你不会同意对手看你的牌,不是吗?) ③:在游 Read More
posted @ 2019-05-06 16:23 lleozhang Views(1030) Comments(0) Diggs(0) Edit
据说是裸题... 据说这个东西叫实数线性基... 我说这个毒瘤题卡精度!!! 吐槽结束,进入正文: 本题的核心思想:贪心!按代价从小到大排序后插入线性基,如果能表示出来就不插入,但这里的插入是高斯消元的方法进行的。 然后我们讨论几个问题: 第一:不用考虑购买装备数最多这个问题! 这是在读题时第一个进 Read More
posted @ 2019-05-06 15:21 lleozhang Views(191) Comments(0) Diggs(0) Edit
直接利用降幂公式(或者有人叫扩展欧拉定理?),由降幂公式: 那么我们可以对这个式子降幂: 发现指数部分仍然是原表达式的形式,所以我们递归处理: 记f(p)=2^2^2^2^2... mod p 于是根据上述分析可得: f(p)=2^(f(φ(p)+φ(p)) mod p 于是我们不断递归至φ(p)= Read More
posted @ 2019-05-05 19:49 lleozhang Views(246) Comments(0) Diggs(0) Edit
levels of contents