摘要: 考虑反向操作,去计算有多少组相同的子串,对于一组大小为k的极大相同子串的集合,ans =k 1。 为了避免重复计算,需要一种有效的,有顺序的记录方案。 比如说,对于每一个相同组,按其起始点所在的位置排序,对于除了第一个串以外的串,均记 1的贡献。 但这种东西是非常难以快速统计的。 但是,可以对于每一 阅读全文
posted @ 2018-12-14 00:47 Creed-qwq 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 给出n个数字,给出m种操作。 每个操作形如:可以使第x个数和y个数同时除以一个不为1的公约数,从而使得匹配数+1。 求最大可能的匹配数。 (n 阅读全文
posted @ 2018-12-14 00:12 Creed-qwq 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 题意 给出一个长度为n的序列,求所有区间的区间最小值乘区间最大值的和。(n 阅读全文
posted @ 2018-12-13 23:56 Creed-qwq 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 题意 给你一个长度为n的数列a,你可以任意选择一个区间[L,R]并给区间每个数加上一个整数k,求这样一次操作后数列中最多有多少个数等于c。 写法比较巧妙的一个贪心题。 显然可以想到相同的数字要放在一起来维护。 具体可以对每种数字开一个vector。然后枚举左端点,此时右端点的贡献是一个只与右端点下标 阅读全文
posted @ 2018-12-12 01:09 Creed-qwq 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 题意 给出两个长度为n的01字符串S和T。 选出k个字典序在S和T之间的长度为n的01字符串,使得尽可能多的字符串满足其是所选字符串中至少一个串的前缀。 这是一道思路比较奇怪的类似计数dp的题。 首先考虑如果把选出的这些串插入到一个trie树中的话,算产生的贡献可以理解为,从根节点向下画了k条长度为 阅读全文
posted @ 2018-12-11 23:20 Creed-qwq 阅读(299) 评论(0) 推荐(0) 编辑
摘要: day1 学习后缀数组 学习多项式求逆 day2 cf题目做三道题 多项式求逆解决分治fft 后缀数组一题 晚上比赛至少订正一题 有空再打个ac自动机 day3 订正比赛 多项式对数函数 多项式指数函数 三道多项式相关的题 南外的题开两道(dp相关) day4 收一下day3的尾 订正比赛 复习bl 阅读全文
posted @ 2018-12-11 13:18 Creed-qwq 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 题意 定义图权 = 图中边权总和 图中点权总和(空图的图权=0),求 n 个点 m 条边的无向图最大权子图。 把边看成点,这个点与两个原图中的点连边。直接最小割求最大闭合子图即可。 阅读全文
posted @ 2018-12-11 08:37 Creed-qwq 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 后缀数组倍增预处理 cpp void calheight() { for(int i=1,k=0;i 阅读全文
posted @ 2018-12-10 14:06 Creed-qwq 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 单纯形法 如果目标函数中所有系数都非正,那么显然这些变量直接取0是最优的,所以此时答案为即为常数项。 我们要做的就是通过转化把目标函数的系数全部搞成非负。 思路就是用非基变量替换基变量。 先找到一个目标函数中系数为正的变量,在所有限制中找到一个对它最紧的限制。 用这一行中的其他变量来代换他,显然会把 阅读全文
posted @ 2018-12-10 09:07 Creed-qwq 阅读(463) 评论(0) 推荐(0) 编辑
摘要: 首先这个切面把长方体切割成了两部分,显然要去考虑最小割。 如果没有光滑度的限制,把点看成边,直接建一个立体图,跑最小割即可。 加上这个限制后,带来的不同就是,如果两个点,|f(x1,y1) f(x2,y2)| =d,这两条边即使被割掉了,s和t依然要保证连通性不受影响。 考虑用连inf边来解决这个问 阅读全文
posted @ 2018-12-08 18:37 Creed-qwq 阅读(115) 评论(0) 推荐(0) 编辑