上一页 1 2 3 4 5 6 7 ··· 39 下一页
摘要: 这里采用的是求导+二分的做法。其中用到了多项式的单点求值算法,即:秦九韶算法,对于一个 N 次多项式的单点求值,只需要做 N 次乘法和 N 次加法即可求出在某点处的值。 代码如下 cpp include using namespace std; const double eps = 1e 6; in 阅读全文
posted @ 2019-09-16 15:03 shellpicker 阅读(404) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定一个长度为 N 的字符串,定义一个字串是“好的”,当且仅当字串中含有一个 “2017” 的子序列,且不含有 “2016” 的子序列。现给出 M 个询问,每次询问区间 [l, r] 内至少删去多少个字符才能使得该区间变成“好的”。 题解: 由于题目中要求的是子序列,且序列长度仅为 4,考 阅读全文
posted @ 2019-09-10 20:33 shellpicker 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 题目大意:维护 N 个点的无向图,支持动态加边和删边,回答两点的连通性。 题解:线段树分治 + 可撤销并查集 询问可以离线,这是线段树分治的基础。 建立在操作时间轴上的线段树称为线段树分治算法。 本题中线段树维护的是当前时间段中出现的边的集合。分析可知,对于一条边来说,至多出现在线段树上 $O(lo 阅读全文
posted @ 2019-09-05 20:50 shellpicker 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定一个长度为 N 的序列,开始时所有的位置都不可用,每经过一个时间单位,都会有一个位置被激活。现给定激活顺序的序列,求每次激活之后全局的最长上升子序列的长度,保证数据随机。 题解: 引理:数据随机的情况下,一个长度为 $N$ 的序列的最长上升子序列的期望长度为 $O(\sqrt n)$。 阅读全文
posted @ 2019-09-04 00:17 shellpicker 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定一棵 N 个节点的树,边有边权,选定 M 个叶子节点,使得任意两个叶子节点的树上距离之和最小,求最小值是多少。 题解:任意两点的树上距离和问题应从边的贡献角度考虑。 设 $f[u][i]$ 表示以 u 为根的子树中,选了 i 个叶子节点的最优解,状态转移方程为: $$ f[u][i + 阅读全文
posted @ 2019-09-03 20:38 shellpicker 阅读(412) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定一个长度为 N 的序列,定义连续区间 [l, r] 为:序列的一段子区间,满足 [l, r] 中的元素从小到大排序后,任意相邻两项的差值不超过1。求一共有多少个连续区间。 题解:单调栈 + 线段树 首先,对于区间计数类问题常规的思路是枚举区间的左端点或右端点,统计以该点为端点的区间个数 阅读全文
posted @ 2019-09-03 15:47 shellpicker 阅读(421) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定长度为 $n 1$ 的序列 $g$,求 $f$ 序列,其中 $f$ 为 $$ f[i]=\sum_{j=1}^{i} f[i j] g[j] $$ 学会了分治 $fft$。 发现这个式子中也含有卷积,但是这是一个递推式,即:$f$ 数组是未知的。 考虑分治策略,即:假设已经算出区间 $ 阅读全文
posted @ 2019-08-30 23:27 shellpicker 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定一个文本串和一个模板串,串中含有通配符,求文本串中有多少个位置可以与文本串完全匹配。 题解:利用卷积求解字符串匹配问题。 通配符字符串匹配的数值表示为 $$\sum\limits_{i = 0}^{m 1}(a[i] b[i + k])^2 a[i]b[i + k]=0$$。直接展开之 阅读全文
posted @ 2019-08-29 20:22 shellpicker 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有 N 条鱼,每条鱼都有钓鱼和烤鱼的时间,钓鱼的时间均相同,每条鱼都有自己的烤鱼时间,一次只能烤一条鱼,且不能间断。现要求通过某种顺序将所有的鱼钓上来并烤完,求最小的时间是多少。 题解: 对于顺序可以自选的情况,可以从全局的角度进行考虑。对于最终状态,每条鱼被烤的时间和钓鱼的总次数是固定的 阅读全文
posted @ 2019-08-28 17:36 shellpicker 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定一个 N 个数字的排列,需要支持两种操作:对某个位置的数字 + 1e7,查询区间 [1, r] 中最小的不等于区间中任何一个数字的数。 题解:本题证明了对于 50W 的数据来说,$O(nlog^2n)$ 的算法是过不去的。。 首先,最暴力的做法就是树状数组套权值线段树,实现了支持单点修 阅读全文
posted @ 2019-08-28 16:39 shellpicker 阅读(200) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 39 下一页