摘要: + 题目链接: "洛谷" , "BZOJ" + 前置知识:莫得 题解 + 考虑DP。这题首先发现如果修改后继状态那么一定修改成 $1$ 。然后现在难点在于如何解决存在一个环的问题以及状态的设计。先考虑是树的情况。 + 可以发现跟 "IOI河流Riv" 一题相似,子树内节点的贡献会被祖先的状态影响。这 阅读全文
posted @ 2019-08-08 15:47 Destinies 阅读(340) 评论(0) 推荐(0) 编辑
摘要: + 题目链接: "洛谷" , "BZOJ" + 前置知识:莫得 题解 + 直接考虑dp。首先想法是设状态 $dp[u][i]$ 表示u的子树内建 $i$ 个伐木场且子树内木头都运到某个伐木场的最小花费。发现这样的状态是无法从儿子转移到父亲的,考虑加一维状态。 + 可以发现题目中有一个条件是 木头会在 阅读全文
posted @ 2019-07-29 20:37 Destinies 阅读(256) 评论(1) 推荐(1) 编辑
摘要: + 题目链接: "Codeforces" , "洛谷" + 前置知识:fwt,子集卷积 题解 + 按题意模拟,做几次子集卷积和各种fwt。 include define ll long long define ull unsigned long long define rep(i, s, t) fo 阅读全文
posted @ 2019-07-28 20:20 Destinies 阅读(307) 评论(0) 推荐(1) 编辑
摘要: + 题目链接: "洛谷" , "BZOJ" + 前置知识:莫得 题解 + 由于如果 $2^{2n}$ 枚举点对统计贡献那么复杂度便不允许做其他操作,不是很好搞。那么就考虑将点对间的贡献转成单点的贡献。 + 仔细观察题目中的表格,发现其实可以理解为在网络树中的非叶子节点,若其子树内选A节点数大于选B节 阅读全文
posted @ 2019-07-28 19:55 Destinies 阅读(211) 评论(1) 推荐(1) 编辑
摘要: + 题目链接: "洛谷" , "LibreOJ" + 前置知识:fwt 题解 + 首先推出状压dp形式,然后将dp方程中分母处的当前状态人口的总和这一项移到等式左边,会发现dp方程形成一个“自己等于自己卷人口”的形式,然后子集卷积刚好可以解决。 + 注意子集卷积枚举两边1的个数时人口数组必须至少有一 阅读全文
posted @ 2019-07-26 20:38 Destinies 阅读(262) 评论(0) 推荐(1) 编辑
摘要: 不会kmp和Trie树的请点击右上角X。 AC自动机与kmp的唯一区别便是从单模式串变成了多模式串。 那么与kmp相同,AC自动机中的fail指针是指向当前状态的最长后缀。 当然这个后缀要在Trie树中存在,且不能指向自己。当然在Trie树中不存在它的后缀时,fail指针指向根。 于是在用文本串匹配 阅读全文
posted @ 2018-07-16 14:02 Destinies 阅读(429) 评论(1) 推荐(1) 编辑
摘要: 在线段树的实际应用中,我们经常要访问线段树的历史版本。 这时候,我们就需要一种新的数据结构:主席树(别问我为什么叫主席树,去问主席)。 由于之前写了半天的消失了,那我就写个简洁点的。 为了保存线段树的历史版本,我们可以每修改一次就复制整棵线段树。 但是这样做空间和时间都承受不下,然后我们会发现每一次 阅读全文
posted @ 2018-01-29 15:08 Destinies 阅读(339) 评论(1) 推荐(1) 编辑
摘要: 在堆的实际应用中,我们经常要做一些堆的合并操作。 这时候,我们就需要一种新的数据结构:可并堆。 可并堆有很多种,例如:斜堆,左偏树,(配对堆、斐波那契堆,这两个不会说的,因为我不会)。 这里介绍两种斜堆和左偏树。 斜堆: 我们将根节点值较大的堆称作a,较小的堆称作b(小根堆相反)。 那么我们把a的右 阅读全文
posted @ 2018-01-29 14:20 Destinies 阅读(1092) 评论(0) 推荐(1) 编辑