摘要:
题目链接 链接 翻译 题解 看到除2就知道是个暴力题了。 模拟就行,log复杂度除不了几下的。 然后每次分成的碎片个数乘 \(2\) 也很快就会超过 \(n\) 了,为了防止爆 \(int\) 中间就停下来吧。 代码 #include <bits/stdc++.h> #define lson l,m 阅读全文
摘要:
题目链接 链接 翻译 给你一个排列,其中有一些位置上的数字被remove了,让你全都放回去。 定义相邻两个数字如果奇偶性不同,\(diff\) 值加 \(1\)。 求数字全都放回去之后 \(diff\) 的值的最小值。 题解 设 \(dp[i][j][k]\) 表示前 \(i\) 个数字放了 \(j 阅读全文
摘要:
题目链接 链接 翻译 让你给树上的每条边分配一个数字。要求这 \(n-1\) 个数的乘积要等于 \(k\) 分配的 \(1\) 的个数要尽可能少。 这个 \(k\) 质因数分解的时候,每个质因子的指数都是 \(1\),且 \(k\) 是以告诉你它每个质因子的形式给出的。 要求树上任意两点之间的距离和 阅读全文
摘要:
题目链接 链接 翻译 给每道菜确定一个取出时间,每道菜对不愉快程度的贡献为它取出的时间和最佳取出时间差的绝对值。 要求最后不愉快程度之和最小,求这个最小值。 题解 动态规划,一个很显然的贪心是,我们把 \(t\) 进行排序,然后依次从小到大地顺序分配每个菜是最好的。 也即时间小的菜分配对应的时刻也应 阅读全文
摘要:
题目链接 链接 翻译 给你一个区间,让你输出其中合法的括号序列(不要求连续)的最长的长度。 题解 线段树 在节点上维护当前这个区间内左右括号已经匹配了的对数 \(mb[rt]\) 另外维护两个用于合并的数组 \(lb[rt]\) 表示还没有用来匹配的左括号的数目,\(rb[rt]\) 则是右括号。 阅读全文
摘要:
题目链接 链接 翻译 让你维持水位始终在 [l,r] 这个范围 且,你每天开始的时候可以加(所以也可以不加) \(y\) 升水,然后结束的时候会少掉 \(x\) 升水(固定)。 一开始水位是 \(k\),问你这样(水位始终在 [l,r] 这个区间) 能否持续 \(t\) 天。 题解 如果 \(y<x 阅读全文
摘要:
题目链接 链接 翻译 每个阶段都有 \(\frac{1}{2}\) 的几率失败,失败了会回到上一个存档点。 想让玩家的期望尝试次数为 \(k\),问你能否设计出一个不超过 $2000$ 级台阶的策略,满足这个要求。 题解 如果只有一个 $1$ 的话,那么期望尝试次数为 $2$。假设后面出现了一个 $ 阅读全文
摘要:
题目链接 链接 翻译 让你构造一棵树,使得任意两个叶子节点之间路径的权重异或和为 $0$。 并且,树中用到的边的权重的不同值的个数设为 \(f\),让你求 \(f\) 的最大值和最小值。 题解 最小值不会超过 $3$。 可以转化为是在给每个点标记数字,然后边上的权重就是连接它们两个点上标的数字的异或 阅读全文
摘要:
题目链接 链接 翻译 将 \(s\) 删掉 \(|s|-m\) 个字符之后,剩下的 \(m\) 个字符任意排序得到 \(t\)。根据 \(t\) 上每个字符的字典序的大小关系生成了一个序列 \(b\)。 现在告诉你 \(s\) 以及 \(m\) 和 \(b\) 让你输出某个可能的 \(t\)。 题解 阅读全文
摘要:
题目链接 链接 翻译 让你统计$0$ ~ $10^n-1$ 中长度为 \(len\) 的连续块的个数 题解 考虑长度为 \(len\) 的连续块的位置,有两种情况 ①连续块紧接着开头或结尾,即xxxx........ 以及 .......xxxx 这两种 ②连续块在中间 ....xxxx..... 阅读全文