摘要:
直接爆搜不行,于是我们分成两半爆搜,然后中间用个 map 记一下,复杂度上的指数就除以 \(2\) 了。 具体来说,我们用 map 记下前一半的路径,然后跑后一半的路径,再查询 map 就好了。 阅读全文
posted @ 2024-09-18 14:53
Alexande
阅读(7)
评论(0)
推荐(0)
摘要:
首先考虑到这么一件事,我们切切糕一定是从小往大切,这样才会最优。 然后我们设 \(f_{i, j}\) 表示到了第 \(i\) 块切糕还剩 \(j\) 次优惠券的最小费用,然后每次切的时候对方一定会选中间的位置,我直接选大的那一边就没了。 阅读全文
posted @ 2024-09-18 14:51
Alexande
阅读(9)
评论(0)
推荐(0)
摘要:
description 懒得讲了。 solution 首先把祖先关系理一理,然后对于 \(5\) 种情况分别 DP 即可。 阅读全文
posted @ 2024-09-18 14:49
Alexande
阅读(10)
评论(0)
推荐(0)
摘要:
description 懒得讲了。 solution 不难发现设一个 DP 状态包含小 a 和 uim 的值是很简单的,但是很明显会爆,然后我们发现我们只关心差值,然后记录一下插值就做完了,不会爆。 阅读全文
posted @ 2024-09-18 14:47
Alexande
阅读(12)
评论(0)
推荐(0)
摘要:
首先我们设一个 DP(最开始要消耗 \(1\) 的代价),然后不难发现我肯定是先跳到儿子中尝试一下,然后再在父亲和儿子间反复横跳,这样一定是最优的,然后就做完了。 阅读全文
posted @ 2024-09-18 14:46
Alexande
阅读(11)
评论(0)
推荐(0)
摘要:
首先你发现每棵树的根的 \(c_i\) 之和必须等于 \(s\),然后我们先 bitset 优化一下背包后,不难发现剩下的点一定可以从大到小接在选出的结点最大的 \(c_i\) 的下面,如果不能就肯定无解了。 阅读全文
posted @ 2024-09-18 14:44
Alexande
阅读(21)
评论(0)
推荐(0)
摘要:
首先拿到这种看起来不太能一眼秒的题就二分。 然后二分玩后设 \(f_{i}\) 表示到了第 \(i\) 个数,想要达到这个要求下最多保留多少个数,然后你发现这个是好转移的,于是你就 A 了。 阅读全文
posted @ 2024-09-18 14:39
Alexande
阅读(13)
评论(0)
推荐(0)
摘要:
首先我们发现下标模 \(k\) 同余的数肯定放一组,然后这一组的最小贡献肯定是排完序后最大减最小。 考虑这样一个贪心,我们的一组内的数肯定是原数组排完序后连续的一段,因为如果不是一段,我们的值域上将会有区间的贡献次数 \(> 1\),这是不优的,然后由于是连续的,所以我们考虑 DP。 发现一组的大小 阅读全文
posted @ 2024-09-18 14:36
Alexande
阅读(12)
评论(0)
推荐(0)
摘要:
description 给你一个序列,小 A 和小 B 在玩游戏,小 A 先手,每次可以取出一个前缀的和的值,再用这个值替换掉这个前缀,问你两人都最大化自己的分数 - 对方的分数的情况下,最后结果是多少。 solution 就从后往前考虑,每次他们取的决策中有两个值,然后比较一下哪个值得变化量最大就 阅读全文
posted @ 2024-09-18 14:31
Alexande
阅读(19)
评论(0)
推荐(0)
摘要:
其实你发现将 \(n\) 分解质因数后相当于把每个相同的质数给分配到其中的每一个位置,使得方案数不重。 然后这个方案数是可以插板得出的,然后对于正负情况我们只需要满足有偶数个负数就好了。 阅读全文
posted @ 2024-09-18 14:27
Alexande
阅读(13)
评论(0)
推荐(0)

浙公网安备 33010602011771号