上一页 1 2 3 4 5 6 ··· 11 下一页
摘要: "题目链接" solution 很容易想到先差分。这样在第$i$堆拿走$k$个石子,就相当于让$a_i k,a_{i+1}+k$。 我们重新看这个问题,就是在差分后,每次可以将第$i$堆的石子拿出一部分放到第$i+1$堆。这样就成了阶梯$NIM$。 我们将从$n$开始数的奇数列看做石子来做普通$NI 阅读全文
posted @ 2020-04-28 11:04 wxyww 阅读(220) 评论(0) 推荐(0) 编辑
摘要: "题目链接" solution 我们知道,一个局面当且仅当每堆石子数量的异或和为$0$时后手必胜。那么我们如果给$Alice$指定第一次选的堆,那么当他选完一次之后就成了后手。所以他肯定会尽量的使剩下的石子数量异或和为$0$。 现在假设我们强制他选第$i$堆,且第$i$堆有$x$个石子。那么他可以通 阅读全文
posted @ 2020-04-28 07:45 wxyww 阅读(146) 评论(0) 推荐(0) 编辑
摘要: "题目链接" solution 如果可以统计出每条边期望走多少次,那么只要按照经过的次数从小到大降序编号就能保证最终得分最小了。 统计每条边走的次数不好统计,但是统计点的经过次数似乎不难。那么边的经过次数就是他所连接的两点经过次数分别除以这两个点的度数之和。 然后考虑如何统计每个点的经过次数。 用$ 阅读全文
posted @ 2020-04-27 20:43 wxyww 阅读(143) 评论(0) 推荐(0) 编辑
摘要: "题目链接" solution 首先想对于每个二进制位分别计算。 用$f[i]$表示第$i$个点走到$n$异或和为$1$的概率。用$du[i]$表示第$i$个点的度数,那么就有 $$f[u]=\frac{1}{du[u]}(\sum\limits_{w(u,v)=1}(1 f[v])+\sum\li 阅读全文
posted @ 2020-04-27 19:42 wxyww 阅读(163) 评论(0) 推荐(0) 编辑
摘要: "题目链接" solution 高斯消元模板。 特别的地方在于判断无解和无穷解。 无解就是出现前面全是0,最后一个为0. 无穷解就是一列全是0。 先判断无解,在判断无穷解 一开始看很多人在这里踩坑,~~还暗自窃喜自己想到了~~ 然鹅还是踩了好几次坑。 一定要在高斯消元之后判断是否无解!!!! 一定要 阅读全文
posted @ 2020-04-27 10:16 wxyww 阅读(194) 评论(0) 推荐(0) 编辑
摘要: "题目链接" solution 因为$n$比较小,所以我们可以$2^n$枚举每一行是不是翻转。然后对于每一列答案就唯一了。 对于每一列状态压缩,用$B[i]$表示$i$这个状态最小的$1$的个数(也就是这个状态里0和1更少的那个)。然后我们如果想把一列从状态$x$变成状态$y$,那么我们需要操作的行 阅读全文
posted @ 2020-04-26 11:29 wxyww 阅读(182) 评论(0) 推荐(0) 编辑
摘要: "题目链接" solution 用$f[i][j]$表示第$i$次操作后手上数字为$j$的概率。 那么就有$f[i][j]=\sum\limits_{s_1|s_2=j}f[i 1][s_1]\times p[s_2]$ 所以第$k$次操作后手上数字为$i$的概率就是$p^k_i$。这里的乘法是集合 阅读全文
posted @ 2020-04-26 10:38 wxyww 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 概述 $FWT$是用来处理集合卷积的问题。也就是求解$f(n)\sum\limits_{i|j=n}f(i)f(j)$类型的问题。其中或运算可以改为$\otimes,\&$。 寻找点值 因为总是看不下去那么长的推导,所以每次都是看到一半。然后就在加上自己的一点理解,简单推导一下吧(~~背过结论就行~ 阅读全文
posted @ 2020-04-26 10:24 wxyww 阅读(262) 评论(1) 推荐(0) 编辑
摘要: 杜教筛用来求数论函数$f$前缀和。复杂度为$O(n^{\frac{2}{3}})$ 前提 如果我们要求$S(n)=\sum\limits_{i=1}^nf(i)$,那么需要找到一个数论函数$g$,满足$g$的前缀和可以非常快速的求出来,并且$g f$的前缀和可以非常快速的求出来。 推导 既然$g f 阅读全文
posted @ 2020-04-25 08:26 wxyww 阅读(357) 评论(0) 推荐(2) 编辑
摘要: "题目链接" solution 先$orz$一波大佬,然后扔上一个公式$233$ $$d(ij)=\sum\limits_{x | i}\sum\limits_{y|j}[gcd(x,y)==1]$$ 是不是看到这个公式瞬间就有思路了。 我们开始推柿子。 $$\sum\limits_{i=1}^n\ 阅读全文
posted @ 2020-04-23 20:41 wxyww 阅读(238) 评论(0) 推荐(0) 编辑
摘要: "题目链接" solution “能同时整除i和j的数”其实就是$gcd(i,j)$的因数。 所以题目就是要求 $$\sum\limits_{g=1,\sigma(g)\le a}\sigma(g)\sum\limits_{i=1}^{\lfloor\frac{n}{g}\rfloor}\sum\l 阅读全文
posted @ 2020-04-23 18:03 wxyww 阅读(128) 评论(0) 推荐(0) 编辑
摘要: "题目链接" solution 当$K,M$不互质时肯定无解。 然后就考虑$K,M$互质的情况。根据欧拉定理$K^{\varphi(M)}\equiv 1(mod\ M)$,我们可以得到一个可能的答案$\varphi(M)$,但是$\varphi(M)$不一定是一个最小解。 先说结论:满足条件的最小 阅读全文
posted @ 2020-04-22 22:07 wxyww 阅读(135) 评论(0) 推荐(0) 编辑
摘要: "题目链接" problem 给出一个长度为$n$的环,第$i$个点需要分配$a_i$种颜色。相邻两个点不能有相同的颜色。求最少需要多少种颜色。 solution 挺巧妙的一个$dp$。 显然答案具有单调性,所以我们可以先二分一个答案$x$。 然后用$mn[i]$表示第$i$个点与第$1$个点最少有 阅读全文
posted @ 2020-04-22 19:29 wxyww 阅读(129) 评论(0) 推荐(0) 编辑
摘要: "题目链接" solution 理解完题意。发现就是求$g^{\sum\limits_{k|n}C_n^k}$。 利用欧拉降幂,可以将式子写成$g^{\sum\limits_{k|n}C_n^k\%\phi(mod)}$ 只要想办法把指数求出来就行了。 看一下数据范围,发现$n$比较大,不能直接计算 阅读全文
posted @ 2020-04-22 10:10 wxyww 阅读(198) 评论(0) 推荐(1) 编辑
摘要: "题目链接" solution 直接暴力后缀数组。 将两个字符串接到一起,然后跑一遍后缀数组。 因为可以有3个字符不同,那我们就枚举第一个字符串中和第二个字符串第一个字符相匹配的位置。从这个位置开始每次跳$LCP$长度。看跳4次之后能不能跳到最后就行了。 求$LCP$长度的时候用$ST$表 code 阅读全文
posted @ 2020-04-20 21:28 wxyww 阅读(113) 评论(0) 推荐(0) 编辑
摘要: "题目链接" solution 用后缀数组来处理。将两个字符串拼接到一起,然后跑一边后缀数组。 后面的如果暴力做的话,就是枚举一下相同字符串的起始位置,然后用$height$数组求一下这两个后缀的$LCP$,答案加上$LCP$就行了。 然后考虑优化,枚举贡献,也就是枚举一个$height_i$找到以 阅读全文
posted @ 2020-04-20 19:46 wxyww 阅读(137) 评论(0) 推荐(0) 编辑
摘要: "题目链接" solution 用后缀数组水一发后缀自动机的模板233 先跑一遍后缀数组,求出来height。然后根据height的性质,枚举造成贡献的位置,然后看一下这个位置在最长多长的一段区间内均为最小值。答案就是$len_i height_i$。$len_i$表示最长长度为$len_i$的一段 阅读全文
posted @ 2020-04-20 08:50 wxyww 阅读(100) 评论(0) 推荐(1) 编辑
摘要: "题目链接" solution 正难则反√ 考虑如何计算长度为$m$的字符串中不包含所给集合中任意一个串的方案数。 先将所给的所有串建出$AC$自动机。 用$f[i][j]$表示长度为$i$的字符串,第$i$个位置对应$AC$自动机中的第j个位置且不包含所给集合中任意一个串的方案数。 然后枚举每一位 阅读全文
posted @ 2020-04-19 11:06 wxyww 阅读(106) 评论(0) 推荐(0) 编辑
摘要: "题目链接" solution 容易想到将集合中的所有串建出AC自动机。然后用$f[i][j][0/1]$表示前$i$个位置是(1)否(0)为上界,第$i$个位置对应AC自动机中的$j$号点的方案数。 转移就枚举当前位置填的数字转移即可。 有两个需要注意的地方: 如果某个位置可以通过fail指针跳到 阅读全文
posted @ 2020-04-19 10:20 wxyww 阅读(77) 评论(0) 推荐(0) 编辑
摘要: "题目链接" solution 将所有的单词建出AC自动机。然后用母串在上面走,并且记录下在母串中的每个位置对应到AC自动机上的位置。当走到一个单词的结尾时,就回到这个单词长度之前的位置。 问题在于如何找到这个单词长度之前的位置。我们用个栈来记录答案,每找到一个长度为len的单词,就从栈顶弹出len 阅读全文
posted @ 2020-04-19 08:28 wxyww 阅读(114) 评论(0) 推荐(0) 编辑
摘要: [toc] 线性方程组 概述 线性方程组就是形如下方的方程组。 $$\begin{cases}a_{11}x_1+a_{12}x_2+...+a_{1m}x_m=b_1\\ a_{21}x_1+a_{22}x_2+...+a_{2m}x_m=b_2\\ ... \\ a_{n1}x_1+a_{n2} 阅读全文
posted @ 2020-04-18 14:00 wxyww 阅读(6165) 评论(0) 推荐(1) 编辑
摘要: "题目链接" solution 有两种解法。 解法一:分组背包,相当于有3种物品,分别有$n_1,n_2,n_3$个,重量分别是$1,2,5$。问不能组成的最小的重量。 用$f[i]$表示$i$这个重量能不能组成。 然后将分组背包拆成01背包做。 枚举一下重量,看是否能组成。 解法二:生成函数。用$ 阅读全文
posted @ 2020-04-16 16:16 wxyww 阅读(119) 评论(0) 推荐(0) 编辑
摘要: "题目链接" solution 此题有两种解法。 第一种解法就是裸的完全背包。 就相当于有n种物品,第i种物品的重量是i。每种物品有无限多个,问恰好填满一个容量为n的背包的方案数。 第二种解法是生成函数。 用生成函数$(1+x+x^1+x^2+...)$表示拆分出的$1$的数量。用$(1+x^2+x 阅读全文
posted @ 2020-04-16 14:52 wxyww 阅读(82) 评论(0) 推荐(0) 编辑
摘要: "题目链接" solution 该博文刚写完,就不小心手残清空了,只好重写。 生成函数练手题 先写上这个式子$\frac{1}{1 x}=1+x+x^2+x^3+x^4+...$ 题目中描述了两种限制。 第一种限制:神石的块数必须是$t$的倍数,那么他的生成函数就是$1+x^t+x^{2t}+x^{ 阅读全文
posted @ 2020-04-16 11:09 wxyww 阅读(142) 评论(2) 推荐(0) 编辑
摘要: SG函数 说到博弈论就不得不说到SG函数,说到SG函数就不得不说~~今年将AK NOI的mjt~~。 作用 对于一个状态i为先手必胜态当且仅当SG(i)!=0。 转移 那怎么得到SG函数尼。 SG(i)=mex(SG(j))(状态i可以通过一步转移到j) 首先说一下mex。一个集合的mex是最小的没 阅读全文
posted @ 2020-03-13 09:03 wxyww 阅读(887) 评论(3) 推荐(1) 编辑
摘要: 树的同构 两棵树如果形态相同,就称这两棵树同构。 也就是:存在一个排列$p$,将其中一棵树的编号$i$改为$p_i$,使得这棵树和另外一棵树完全相同。 树hash 判断两棵树是否同构可以使用树hash的方法。用$hs[i]$表示i这棵子树的hash值。那么有$hs[u]=1 + \sum hs[v] 阅读全文
posted @ 2020-03-07 07:46 wxyww 阅读(534) 评论(0) 推荐(0) 编辑
摘要: "题目链接" problem 给出一个无向图,每条边有一种颜色。每种颜色都构成一个森林。需要完成以下操作。 修改点权 修改边的颜色 询问某种颜色的森林中某条路径上点权最大值 solution 颜色数量不超过10,所以对于每种颜色建一棵LCT。 修改点权,就对每种颜色的LCT都修改。 修改边的颜色,就 阅读全文
posted @ 2020-02-26 16:24 wxyww 阅读(172) 评论(0) 推荐(0) 编辑
摘要: "题目链接" problem 给出一棵有点权的树,支持4种操作。 路径加 路径乘 删除一条边并添加一条边,操作后还是一棵树 求路径和 solution 删边和添边的操作可以用LCT解决。 路径加和路径乘再splay上打标记即可。 下方的时候要按照一定的顺序下方。下面的代码是先下放乘法标记,下放乘法标 阅读全文
posted @ 2020-02-26 16:07 wxyww 阅读(168) 评论(0) 推荐(0) 编辑
摘要: "题目链接" problem 给出一个长度为n的序列,每次可以选择一个区间$[l,r]$并将区间$[l,r]$内的数字全部变为这些数字的平均数。该操作可以进行任意多次。 求出进行任意次操作后可以得到的字典序最小的序列。 solution 可以证明不存在一个数字被进行两次或以上运算。即不存在如下情况: 阅读全文
posted @ 2020-02-10 10:19 wxyww 阅读(238) 评论(0) 推荐(0) 编辑
摘要: "题目链接" problem 给出一个n个点带边权的树,问有多少对$(u,v)$满足$u$到$v$路径上边权的乘积为完全平方数。 $n\le 10^5,w\le 10^8$ solution 一个比较朴素的处理方法就是:设第i个质因子权值为$2^{i 1}$,将每个边权质因子分解,并将所有质因子的权 阅读全文
posted @ 2020-02-05 18:34 wxyww 阅读(260) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 11 下一页