摘要: 做个备忘录把…… 二项式反演: 令$f_i$表示至少选择$i$个,$g_i$表示敲好选择$i$个 $f_i=\sum_{j=0}^i \dbinom{n}{j} g_j$ $g_i=\sum_{j=0}^{i}( 1)^{i j}\dbinom {n}{j}f_j$ 范德蒙德卷积: $\dbinom 阅读全文
posted @ 2019-10-31 23:49 呢没理他 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 感觉已经几次碰到这种类型的题目了,写篇$Blog$总结一下 题意: 是否存在一条$(s_i, t_i)$的路径,满足先只走编号不超过$L_i$的点,再走编号不超过$R_i$的点 $Solution$: 对于这种限定经过点数的题目,可以比较自然地想到重构树: 由于前后都有限定,我们考虑建两颗重构树 第 阅读全文
posted @ 2019-10-31 23:44 呢没理他 阅读(250) 评论(0) 推荐(1) 编辑
摘要: ~~我怎么什么都不会啊$QAQ$博弈论怎么和期望一样玄学啊$QAQ$~~ 我们分几种情况讨论: $Case1$:只有一堆且为1,那么后手胜利 $Case2$:每一堆都是1,那么只需要判断奇偶性,奇数则先手败,偶数则后手败 $Case3$:只有一堆不是1,其余堆都是1,那么可以根据就行,先手可以选择是 阅读全文
posted @ 2019-10-31 23:42 呢没理他 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 太菜了,不会生成函数,于是用特征方程来写的这道题 首先我们知道,形如$a_n=A a_{n 1}+B a_{n 2}$的特征方程为$x^2=A x+B$ 于是此题的递推式就是:$x^2=233x+666$,即:$x^2 233x 666=0$ 用求根公式解得:$x_1=\dfrac{233+\sqr 阅读全文
posted @ 2019-10-31 23:42 呢没理他 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 题目是要我们求出如下柿子: $$\sum_{i=0}^{n}C_{nk}^{ik+r}$$ 考虑k和r非常小,我们能不能从这里切入呢? 如果你注意到,所有组合数上方的数$\%k==r$,那么是不是可以从$DP$开始呢? 跟据上述性质,我们可以得到暴力$DP$: 考虑组合数的实际意义是在n个数中选出m 阅读全文
posted @ 2019-10-31 23:41 呢没理他 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 首先我们要注意到一个性质:由于根与右子树的根奇偶性相同,那么根的奇偶性与$N$相同 然后我们发现对于一个完美树,他的左右两个儿子都是完美树 也就是说,一颗完美树是由两棵完美树拼成的 注意到另一个性质:由于权值是一个排列,假设根节点为$x$,那么左子树的范围是$[1, x 1]$,右子树为$[x + 阅读全文
posted @ 2019-10-31 23:39 呢没理他 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 这么妙的题怎么没人发题解啊 首先这是三维的,~~我们可以对其进行降维打击~~ 先考虑一维怎么做? 我们可以对其该维坐标进行排序,按照顺序输出,可能会多余一个 那拓展到二维呢? 我们可以把它转化成一维,分成很多个一维后执行上述操作,把一维中多的一些点存下来,可以保证这些点的一维值两两不等,于是按照另一 阅读全文
posted @ 2019-10-31 23:38 呢没理他 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 这题还是比较妙妙~~套路~~的,复杂度为$O(log^2N)$,可以卡掉$\sqrt n$的做法 首先我们可以把原数列分成很多个集合,集合之间肯定是两两独立的,考虑分别计算答案 我们定义$f_i$为集合大小为i出现过多少次(集合大小最多为$logN$级别),$g_i$表示集合大小为i删除完的期望步数 阅读全文
posted @ 2019-10-31 23:36 呢没理他 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 构造题果然都非常神仙啊 ~~首先翻译有点问题,$L, R$的范围应该为$[1, 10^{200}]$~~ 由于模数a达到了$10^{18}$,所以我们可以发现,当$i using namespace std; long long a, pax = 1e18 + 1; signed main() { 阅读全文
posted @ 2019-10-31 23:35 呢没理他 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 妙妙题…… ~~看到$MST$,想到$Kruskal$,看到异或,想到$Trie$~~ 首先我们模拟一下$Kruskal$的流程:找到最小边,如果联通就忽略,未联通就加边 我们把所有点权值加入$0 1\ Trie$中,然后画张图,可以发现有$n 1$个点是有两个儿子的,而其他点都是只有$0/1$个儿 阅读全文
posted @ 2019-10-31 23:33 呢没理他 阅读(182) 评论(0) 推荐(0) 编辑
摘要: ~~果然我还是太$Naive$了~~ 首先有一些点/边其实是没有意义的,如果从1出发不能到该点或者从该点不能到n,这个点就可以不用管了。这个过程可以用正反两边$dfs/bfs$实现 然后删掉那些点之后,新图中如果出现了环,那么显然是无解的 然后现在图就转化成了一张$DAG$ 由于$1 n$的所有路径 阅读全文
posted @ 2019-10-31 23:31 呢没理他 阅读(122) 评论(0) 推荐(0) 编辑
摘要: ~~颂魔眼中的一眼题我大湖南竟无一人$AC$~~ 首先我们考虑一个性质:我们肯定存在一种最优解,满足从某个点出发,一直往前走,不停下来。 证明:我们假设存在一种最优解,是在$t_i$的时候到达$a$点,那么我肯定会在$t_i x(x≥1)$的时间会到达$a 1$号点 我们假设$x != 1$,即我们 阅读全文
posted @ 2019-10-31 23:30 呢没理他 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 加强前这道题还是比较友好的 首先我们设$g_x$为x对情侣没有一对坐在一起的数量 然后答案就可以表示成:$C_n^k A_n^k 2^k g_{n k}$ 这里的复杂度是$O(T N)$,貌似不错,所以现在问题变成求$p_x$了 第一篇题解是利用这是一个错牌问题,用递推式解决,复杂度为优秀的$O(N 阅读全文
posted @ 2019-10-31 23:29 呢没理他 阅读(140) 评论(0) 推荐(0) 编辑
摘要: ~~被某大佬指出这是多项式板子!?~~ 我们假设我们原始数列是$a_i, c_i$, 旋转后的数列是$a_i, b_i$,我们的增加量为x $$\sum_{i = 1}^n(a_i b_i + x)^2$$ 拆开平方得: $$\sum_{i = 1}^na_i^2+b_i^2+x^2+2 x a_i 阅读全文
posted @ 2019-10-31 23:27 呢没理他 阅读(120) 评论(0) 推荐(0) 编辑
摘要: ~~不知道有没有人跟我一样数据结构学傻了~~ 首先这道题是要求回文串,那么我们可以想到 "manacher算法" 但由于$manacher$不能求出双回文子串,我们要考虑一些性质 首先对于一个回文串,删掉两边的字符它一样是回文串 然后$manacher$求出的$p$数组就是他能拓展的数量,发现对于一 阅读全文
posted @ 2019-10-31 23:26 呢没理他 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 重拾$manacher$,真切感受到了他的妙处 首先,考虑到回文串分奇数和偶数两种情况,需要分类讨论,所以我们可以考虑在所有字符之间插入一个没有用过的符号' ' 然后边界问题不好处理,所以可以在字符串的开头加上一些奇怪的符号'~' 接下来就是$manacher$的正文部分了 我们定义$p_i$表示以 阅读全文
posted @ 2019-10-31 23:25 呢没理他 阅读(107) 评论(0) 推荐(0) 编辑