06 2019 档案

摘要:嘟嘟嘟 题意:1.在直角坐标系中加入一条直线。2.求横坐标为$x$时最大的函数值。 然后有一个叫李超线段树的东西专门解决这样一类问题。 很巧妙,也很简单。 我就直接给几个链接吧。 [JSOI2008]Blue Mary开公司(李超线段树) 李超线段树 第二篇博客复杂度写错了,修改查询都应该是$O(l 阅读全文
posted @ 2019-06-22 17:32 mrclr 阅读(201) 评论(0) 推荐(1)
摘要:先给一道luogu板子题:P4721 【模板】分治 FFT 今天模拟有道题的部分分做法是分治fft,于是就学了一下。感觉不是很难,国赛上如果推出式子的话应该能写出来。 分治fft用来解决这么一个式子$$f(i) = \sum _ ^ f(j) * g(i - j)$$ 如果暴力fft的话,复杂度$O 阅读全文
posted @ 2019-06-21 19:01 mrclr 阅读(553) 评论(0) 推荐(1)
摘要:嘟嘟嘟 首先$O(n ^ 2)$大家都会,枚举最长边,然后找两条短边满足两边之大于第三边即可。 然后估计就没法优化了。 正难则反,如果枚举的两条短边小于等于第三边会怎么样呢?发现$a_i \leqslant 10 ^ 5$,那就可以FFT求出凑出每一条边的方案了,记为$f(i)$。不过还要减去自己配 阅读全文
posted @ 2019-06-20 22:55 mrclr 阅读(208) 评论(0) 推荐(0)
摘要:这东西其实就是一种暴力,只不过巧妙的是每一个环恰好统计了一次。 三元环计数推荐一篇博客,【科技】三元环计数,很详细,很清楚。 每一个三元环之所以被算了一次,是因为一个三元环在新图上必定只有一个点的出度为2,然后我们只在这个点上更新三元环数量。 然后我放了个代码: #define forE(i, x, 阅读全文
posted @ 2019-06-19 20:01 mrclr 阅读(1705) 评论(0) 推荐(1)
摘要:嘟嘟嘟 我用的方法是线段树+并差集,简单易懂,常数略大。 我们按操作时间建立线段树,并且每一个节点开一个vector,记录这个区间内有哪些边。然后算出每一条边的出现时间(这个时间必须是一段连续的区间,如果他加入后删除又加入,那就算两条边),像区间更新打标记一样把这条边放进对应节点的vector。 对 阅读全文
posted @ 2019-06-19 08:33 mrclr 阅读(349) 评论(0) 推荐(0)
摘要:嘟嘟嘟 这种复杂的概率大题我果然是每做出来…… 然后我找到了一篇极棒的题解,小学生都能看懂(大佬就是大佬啊):题解 P4284 【[SHOI2014]概率充电器】,第二次dp的状态方程真的很妙啊。 刚开始我总按照套路想设$dp[u]$表示$u$的子树的期望,看完题解后发现这是没有依据的,因为每一个元 阅读全文
posted @ 2019-06-09 11:08 mrclr 阅读(241) 评论(0) 推荐(0)
摘要:[没有嘟嘟嘟,权限题] 我们dp,令$dp[i]$表示选若干个集合,交集为$i$的方案数,则$dp[i] = C_ ^ * (2 ^ {2 ^ {n - i}} - 1)$。就是说我们先强制选$i$个,有$C_ ^ $个选法,然后剩下的随便选,于是就产生了$2 ^ {n - i}$个集合,从这些集合 阅读全文
posted @ 2019-06-06 20:30 mrclr 阅读(236) 评论(0) 推荐(0)
摘要:嘟嘟嘟 好题好题。 看到对边权或点权的限制,可以想kruskal重构树(好吧我是为了刷kruskal重构树才写这道题的……)。 给题目变个型:$Q$组询问,每组询问为:一匹狼从终点出发,一个人从起点出发,狼只能经过编号为$[1, R]\(的点,人只能经过\)[L, n]$的点,问能否有一个公共点。 阅读全文
posted @ 2019-06-06 15:31 mrclr 阅读(257) 评论(0) 推荐(0)
摘要:前几天做了一道计数题,本来挺水的,非得出成模数不是质数,于是我就来学扩展卢卡斯了。 这东西感觉还不难,比较好理解。 我们要求的就是$C_{n} ^ {m} \% p$。因为$p$不一定是质数,所以可以把$p$质因数分解,后求出$C_{n} ^ {m} \% p _ {i} ^ {k}$的解,这样用中 阅读全文
posted @ 2019-06-06 08:29 mrclr 阅读(182) 评论(0) 推荐(0)
摘要:嘟嘟嘟 题中给的$k$有点别扭,我们转换成$a > b$的对数是多少,这个用二元一次方程解出来是$\frac{n + k}{2}$。 然后考虑dp,令$dp[i][j]$表示前$i$个数中,有$j$对满足$a > b$的方案数,转移的时候考虑这一组是否满足$a > b$即可:\(dp[i][j] = 阅读全文
posted @ 2019-06-05 19:05 mrclr 阅读(199) 评论(0) 推荐(0)
摘要:前几天学了一下二项式反演的证明,咕了几天后觉得还是发一篇博客比较好。 二项式反演,就是这么个式子: $f(n) = \sum _ {i = 0} ^ {n} C_{n} ^ {i} g(i) \Leftrightarrow g(n) = \sum _ {i = 0} ^ {n} ( 1) ^ {n 阅读全文
posted @ 2019-06-05 17:32 mrclr 阅读(558) 评论(0) 推荐(0)
摘要:嘟嘟嘟 看题目这个架势,就知道要线段树,又看到维护联通块,那就得并查集。 所以,线段树维护并查集。 然而如果没想明白具体怎么写,就会gg的很惨…… 首先都容易想到维护区间联通块个数和区间端点两列的点,然后就是区间合并了。 关键在于pushup,线段树是自底向上的,而并查集是自上而下的,因此,每到达一 阅读全文
posted @ 2019-06-05 15:14 mrclr 阅读(224) 评论(0) 推荐(0)
摘要:嘟嘟嘟 此题以前觉得不可做的原因是当时组合数方面几乎啥也不会,现在对这题算是理解了(然而还是看了题解)。 因为$c \leqslant 20$,因此可以把每一个$c$的答案都存下来,即每一个节点开一个长度为20的数组,$f[i]$表示当前区间选$i$个数相乘的所有方案和。 1.区间取反。 那么偶数项 阅读全文
posted @ 2019-06-05 09:09 mrclr 阅读(211) 评论(0) 推荐(0)
摘要:嘟嘟嘟 看到这题,我第一反应就是NOIP2019D1T2:我会单次$O(n ^ 2)$dp! 然后我就想怎么优化这个dp,以及怎么解决从全局变成区间这个问题…… 自然gg了! 换一个思路。 我们先想一个暴力的做法:先把$[L, R]$的数从小到大排序,维护一个$x$,表示$[1, x]$的数都能被凑 阅读全文
posted @ 2019-06-05 08:40 mrclr 阅读(233) 评论(0) 推荐(0)
摘要:嘟嘟嘟 这题刚开始犹豫了一会儿,以为“高明”的优先级大于“谈笑风生”,不过样例表明只要两点间距离不超过$x$,两人就算”谈笑风生“。 接下来看看怎么回答询问。 首先$a$是固定的,且$a,b$都是$c$的祖先。那就得分类讨论: 1.$b$是$a$的祖先,那么$c$就是$a$的子树中的所有点,根据乘法 阅读全文
posted @ 2019-06-04 21:15 mrclr 阅读(329) 评论(2) 推荐(0)
摘要:嘟嘟嘟 好久不写树剖,细节有点小问题。 这题比较好想。看到删边,一般就能想到离线加边。 然后考虑如果一条边是关键边,那么他一定是一个桥。因此首先要做的是边双缩点。 缩完点后图就变成了树。至于加边,显然就是把这条边所在环上的点缩成了一个点。但如果再暴力缩点的话会超时。 实际上相当于把树上在环中的边的边 阅读全文
posted @ 2019-06-03 21:07 mrclr 阅读(180) 评论(0) 推荐(0)
摘要:嘟嘟嘟 这题自己搞了个dp,然后卡空间一上午终于过了…… 令$dp[i][j]$表示深度为$i$,这一层有$n * j$个节点的$n$元树的个数。然后我们枚举上一层的节点个数进行转移:\(dp[i][j] = \sum _ {k = 1} ^ {n ^ {i - 2}}dp[i - 1][k] * 阅读全文
posted @ 2019-06-02 15:20 mrclr 阅读(197) 评论(0) 推荐(0)
摘要:嘟嘟嘟 这题昨天看觉得没有思路,今天看了一眼觉得就是个水题。 首先如果不考虑每一个人只能选一条路的话,那就是求一张无向图(有重边,有自环)的生成树个数。这个直接用矩阵树定理+高斯消元求解行列式即可解决。 现在有了限制,怎么办? 容斥! 其实和[ZJOI2016]小星星这道题有点像。 想一下,如果一个 阅读全文
posted @ 2019-06-01 18:45 mrclr 阅读(154) 评论(0) 推荐(0)
摘要:嘟嘟嘟 TJ律师函警告 20分暴力比较好拿,因为每一种学生可以理解为无限多,那么总方案数就是$C_ ^ {4}$,然后我们枚举至少讨论cxk的有几组,容斥即可。 需要注意的是,容斥的时候还要考虑每一组的位置可以不一样,因此要用插板法计算方案:\(C_{i + n - 4i} ^ {i}\)。 剩下虽 阅读全文
posted @ 2019-06-01 16:03 mrclr 阅读(261) 评论(0) 推荐(0)
摘要:嘟嘟嘟 这题思路还是非常显然的,烦人的就是模数不是质数。 只考虑限制2,就是插板法,先强制让后面的未知数选那么多球。 加上了限制1,因为$n1 \leqslant 8$,那直接$O(2 ^ 8)$暴力容斥即可。 细节就在于解必须是正整数,即每一个盒子至少放一个球,那么对于限制2,我们要强制先选$a 阅读全文
posted @ 2019-06-01 15:09 mrclr 阅读(191) 评论(0) 推荐(0)
摘要:"嘟嘟嘟" 做了一天容斥的题,感觉做过和这题类似的,于是就一直往容斥想。 然而正解可以不用容斥,看来自己的思维被限制了…… 直接dp,令$f[i][j][k]$表示前$k$种颜色的棋子占领任意$i$行$j$列的方案数,转移的时候就枚举第$k$种颜色能占领多少行和多少列。因此我们需要先预处理另一个dp 阅读全文
posted @ 2019-06-01 14:49 mrclr 阅读(172) 评论(0) 推荐(0)