摘要:
线段树分治可以将“一段时间”的条件统筹处理。 一种理解方法是考虑暴力,在每个时间点将当前状态调整出来,线段树分治做的事情相当于将一段时间内都有效的信息统一处理,当这个信息不再满足的时候就撤销。 具体地,若一个条件(通常是可以用并查集维护的)在时间 \([l,r]\) 内有效,我们可以对时间轴开线段树 阅读全文
摘要:
例题:给一棵 \(n\) 个点的树,树上有 \(m\) 条链,\(q\) 次询问,每次给出一条链,问有多少条给出的链与之有交。 将一条给出的链的点权设置为 \(1\),边权设置为 \(0\),统计就用链的点权和加边权和。不难发现每一条给出的链只会在链和中贡献 \(1\)。 相关题目:CF1486F。 阅读全文
摘要:
被创飞了。/ll 题意 飞船从 \(0\) 出发,速度为 \(1\)。路线上有加油站,根据种类可以提供 \(\times 1 \times 2 \times 3 \times 4\) 的加速。\(q\) 次询问到达 \(y\) 的最短时间。 分析 考虑 DP。令 \(f(i,j)\) 表示到第 \( 阅读全文
摘要:
A 题意 给一个单调不增序列,每次操作可以单点修,问把序列变为单调不减序列需要的最小操作次数。 分析 注意到事实上我们需要修改的数字非常多。考虑一个中间点 \(x\),我们将所有小于 \(x\) 的数提升至 \(x\),所有大于 \(x\) 的数减少至 \(x\)。模拟这个过程是 \(O(n^2)\ 阅读全文
摘要:
A 题意 给定整数 \(l,r,k\),定义 \(S\) 表示 \([l,r]\) 内的所有整数,一次操作形如: 从 \(S\) 中选取一个数字 \(x\),满足 \(S\) 中至少有 \(k\) 个 \(x\) 的倍数; 从 \(S\) 中删除 \(x\)。 求可以进行的最大操作次数。 分析 \( 阅读全文
摘要:
A 模拟。 B 模拟。 C 模拟。 D 爆搜。 E 题意 给一个序列 \(A\) 和一个正整数 \(M\),求: \[\sum_{1 \leq l \leq r \leq N} \left( \left(\sum_{l \leq i \leq r} A_i\right) \mathbin{\math 阅读全文
摘要:
A 题意 有 \(n\) 个灯和 \(2 \times n\) 个开关,每个灯都由两个开关控制,不知道电路,但知道开关的开闭,问最小亮灯数量和最大亮灯数量。 分析 最小:让开着的开关的两两抵消。 最大:开着的开关先开满,如果还有,剩余的和之前开的两两抵消。注意到抵消完还开着的灯数量等于关着的开关数量 阅读全文
摘要:
模拟赛搬了这个题,来写个题解。 \(n\) 这么小,不是状压就是很多很多维 DP(暴论)。状压我没想出来,那就正常 DP。 考虑依次填入字符串的每个位置,记 \(f(i,j,num,op)\) 表示填了前 \(i\) 个位置,其中比 \(s_0\) 小的有 \(j\) 个,目前字典序比 \(s\) 阅读全文
摘要:
TopCoder SRM616 ColorfulCoins 题意 给一套货币,保证任意两种货币存在倍数关系且颜色互不相同。已知货币的币值集合,每次可以询问一个金额,给出货币张数最小的表示方案。问最小的询问次数,使得通过已知信息可以对应货币面值和颜色。 分析 最大的面值问一个 \(\inf\) 即可。 阅读全文
摘要:
10 月 05 日的 Ucup 比赛,贡献为 0,补了六道 阅读全文
摘要:
可以在 cnblog 中阅读。 题意 有 \(n\) 座城市,第 \(i\) 座城市生产了 \(p_i\) 件货物,最多可以出售 \(s_i\) 件货物,编号小的城市可以向编号大的城市运输至多 \(c\) 件货物,问最多能出售多少货物。 \(n \le 10^4\)。 分析 乍一看是一个网络流问题, 阅读全文
摘要:
可以在 cnblog 中阅读。 题意 给一个合法括号序列,问有多少区间 \([l,r]\),使得将区间内的每个括号翻转后,括号序列仍合法。 分析 十分套路地,我们将 ( 看成 \(+1\),将 ) 看成 \(-1\),则一个括号序列合法的充要条件是转换后的序列满足: 前缀和任意位置非负; 最后一项为 阅读全文
摘要:
Vjudge 可以出成《三色绘恋》背景。 题意 给一个格点数为 \((n+1) \times (m+1)\) 的网格,给格点染色,相邻的格点不能染成同样的颜色。每个格子有一条对角线的边,可选 N 形和 Z 形。现在有一个残缺的网格,存在一些格子的对角线连法不确定,构造一种字典序最小的方案使得至少存在 阅读全文
摘要:
可以在 cnblog 中阅读。 考虑弱化版链怎么做,每次选取左端点在当前位置前面的线段,跳到其中最大的右端点,可以维护一个数组表示起点为 \(i\) 的目标位置,可以做到 \(O(n+k)\)。 考虑多次询问一段区间 \([l,r]\) 的答案,这时如果暴力从 \(l-1\) 开始跳是 \(O(n^ 阅读全文
摘要:
可以在 cnblog 中阅读。 见这种题比较少,写篇题解加深印象。 如果直接上数据结构维护数组,似乎没有好的办法处理操作序列的一个子段。那不妨转变思路,对操作序列上数据结构维护。 假设顺序进行每个修改操作,我们用时间表示修改操作的编号,位置表示数组的下标,则常见的维护序列的数据结构实际是对位置维度维 阅读全文
摘要:
可以在 cnblogs 中阅读。 \(m \le 40\) 的数据范围提示让我们往颜色种类上考虑。 由题每次可以跳 \(1\) 或 \(2\) 格,即存在一条从 \(1\) 到 \(n\) 的路径的充要条件是不存在两个相邻的未激活格。换句话说,对任意两个相邻的格子都必须选择至少一个激活。 任意两个, 阅读全文
摘要:
不知道会不会更不好的阅读体验 题目的关键步骤为求出区间绝对众数(频率高于 \(\left \lceil \frac{len}{2} \right \rceil\))的出现次数,本文仅仅对这一问题进行探讨,剩余的解题步骤不难理解,可以参考其他题解。 解法 1 考虑一个随机化的解法,从区间中随 \(40 阅读全文