11 2019 档案

只有注册用户登录后才能阅读该文。
posted @ 2019-11-14 14:51 千叶繁华 阅读(13) 评论(0) 推荐(0) 编辑
摘要:待填坑。如果不怕看不懂的话看也行。 阅读全文
posted @ 2019-11-12 17:11 千叶繁华 阅读(734) 评论(0) 推荐(0) 编辑
摘要:题目传送 首先对两个数组排序。 然后预处理出数组p[i]表示b[x]<a[i]的最大的x。 然后我们设f[i][k]表示对于前i个派,我单独选出来k组a[y]>b[y]。(即此时有k组a>b的匹配,其余还未匹配) 显然f[i][k]=f[i-1][k]+f[i-1][k-1]*(p[i]-(k-1) 阅读全文
posted @ 2019-11-10 15:42 千叶繁华 阅读(298) 评论(0) 推荐(0) 编辑
摘要:简介: 用于多模式串的在一个长文本串上的匹配问题。简单的说就是将KMP算法搬到了Trie树上。所以学习AC自动机前要由Trie树与KMP算法做前置知识。 主要步骤: 1、将所有模式串建成一个Trie树。 2、对Trie树的每个节点都构造失配指针。 AC自动机中失配指针(nxt数组)的运用与KMP算法 阅读全文
posted @ 2019-11-07 15:20 千叶繁华 阅读(158) 评论(0) 推荐(0) 编辑
摘要:字典树 (Trie) 用于存储字符串。树的每条边恰好表示一个字符,每个节点代表从根到该节点的路径所对应的字符串。 简介与操作实现可见蓝书P82~83。 Trie字典树很好地利用了前缀,节省了很多空间。 1 //先说明一下:本代码段的字符串d的下标都是从1开始 2 inline void insert 阅读全文
posted @ 2019-11-06 21:47 千叶繁华 阅读(142) 评论(0) 推荐(0) 编辑
摘要:题目传送 阅读理解题题意解释可以看这位大佬的博客。 发现求后缀与倒序求前缀是等价的,而找前缀自然就想到了trie树。将所有字符串翻转后再建入trie树中,再对每一个字符串翻转后从trie树中找前缀,就能找到一个字符串的所有后缀了。 由第三种情况知我们要想最小化总代价,则最小化一个字符串与最靠近它的后 阅读全文
posted @ 2019-11-06 21:18 千叶繁华 阅读(154) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。
posted @ 2019-11-06 10:19 千叶繁华 阅读(4) 评论(0) 推荐(0) 编辑
摘要:差分数组及树上差分 所谓差分,就是记录当前的元素与之前元素逻辑上的差距。 最基础的用法是差的差分数组: 记录当前位置的数与上一位置的数的差值。 即b[i]=a[i]-a[i-1] (b为差分数组,a为原数组) 通过对差分数组求前缀和,可以求出原数组,即: 甚至可以求出前缀和: (s为原数组,sum为 阅读全文
posted @ 2019-11-05 20:12 千叶繁华 阅读(546) 评论(0) 推荐(0) 编辑
摘要:题目传送 首先要考虑入手点。先考虑一个一个玩家处理,显然不加优化的话,时间复杂度是O(n)的。发现对于玩家路径上的点都有一个观察员,一个都不能忽视,看起来是很难优化了。在做题时,发现一个思路很难想,就应该考虑一下换个角度思考。OI中如此,生活亦是如此。 那就尝试从观察员入手。对于每个玩家,他们在树上 阅读全文
posted @ 2019-11-05 17:14 千叶繁华 阅读(323) 评论(3) 推荐(2) 编辑
摘要:(鉴于博客园的表现能力有限,下文中的'^'符合表示集合交,'U'符号表示集合并。'| |'表示集合的元素个数) 对于最基础的容斥原理,就是求满足至少一个条件的事物的数量,即: 设全集中元素有n个属性:a1,a2,...,an,有属性a1的事物的集合为A1,有属性a2的事物的集合为A2,...,有属性 阅读全文
posted @ 2019-11-05 16:02 千叶繁华 阅读(1684) 评论(1) 推荐(0) 编辑

点击右上角即可分享
微信分享提示