合集-个人记录
CF1209G2 Into Blocks (hard version)
摘要:看题解过了这道题,理解的时候比较费力,写一篇题解加深印象。 首先考虑 easy vesion,将最少代价转化成最多能留下来多少个,一个区间里能留下来的最大数就是众数个数,显然相等的数要放在一起考虑,容易发现两个区间的众数个数一定大于等于将这两个区间合并后的众数个数,所以按照这样拆成很多个小区间就行了
「POJ 3744」Scout YYF I
摘要:题目大意:在一条有地雷的路上,你现在的起点在 处。在 个点处布有地雷。每次有 的概率前进 步, 的概率前进 步。问顺利通过这条路的概率。(不要走到有地雷的地方)。 数据规模: ,地雷点的坐标范围:\
洛谷P10936 导弹防御塔
摘要:显然直接求最小值是不好做的,所以考虑二分,观察到 都特别小,因为每个防御塔最多会发射 发导弹,于是可以枚举第 个防御塔已经发射过 次,看能否在二分的 时间内打中第 个入侵者,如果可以则
CF1635E Cars
摘要:题意 有 辆车,每个车有一个运行的方向(L 表示向左走,R 表示向右走)和初始位置,速度为任意值,这些都是不知道的,需要我们去求,已知的是 个关系 。 表示第 辆车和第 辆车必定不会相遇。 \
CF633G
摘要:因为这道题是在树上的,所以我们很套路地先 dfs 一次 ,这样一颗子树上的结点的 就在一起了,对子树的操作就转化为对区间的操作,但是怎么数区间内出现了哪些数呢?因为是对区间加了 后再 所以相当于是将这个区间原本有的数整体向右移了 位
CF1436E
摘要:很久之前大洋彼岸给我说的题,当时他还跟我讲了解法,我还没听懂,现在再看一眼题解发现是水题 首先我们肯定不能将每个子区间的 求出来,于是转换思路,改为判定每个数是否能成为一个子区间的 值,那么一个数 能够成为子区间的条件就是在这个值分割出来的每个区间中至少存
[BJOI2017] 喷式水战改
摘要:首先看到要插入序列,所以自然地想到平衡树,那么左儿子就是左边的序列,右儿子就是右边的序列,求这个值的朴素算法是dp吧,就是前 个燃料,已经到了第 阶段的最大值,但是因为左右儿子是一坨序列,我如果按照这样维护 的话我也不知道右儿子开始的时候到了哪个阶段,所以很自然
「CF407E」k-d-sequence
摘要:考试的时候被3100的评分吓住了,但其实这个评分有点虚高。 先来分析一下题面的要求:区间内加入至多 个数形成一个公差为 的等差数列 那么区间要满足以下条件: 所有数对 取模的值相等 没有重复的数 看着没有其
「雅礼集训 2017 Day5」珠宝
摘要:首先这个题一眼看过去是个01背包,但是01背包是有时间复杂度下限的,显然无法通过这道题,所以肯定要挖掘一下性质,注意到 可能成为破题点,所以我们先改成对于每种 来分组进行背包,然后发现这个东西是有决策单调性的。就是对于mod 相等的dp状
AT_jsc2019_final_h Distinct Integers
摘要:题意:给一个长度为 的数组 ,两个操作: 将 修改成 查询 有多少子区间满足区间内元素两两不相等 先简化问题,求 \([
CF1430G Yet Another DAG Problem
摘要: 要大于等于0,所以可以将这个 分层,每层的权值相等,对于 的边,就使得 的层数比 的层数小,因为 所以可以考虑状压,设 表示已经有 对应的点分好了层的最小代价,考虑转移
[2022CCPC广州] B Ayano and sequences
摘要:题目 1操作是一个区间推平,所以可以考虑使用珂朵莉树。因为每轮都要对 做加法操作,所以可以搞一个时间戳 ,这样就可以不用每次操作结束后都加一遍,直接把这个转化为时间戳,即 其中 \
[2022CCPC广州] Infection
摘要:一眼树形dp,但是因为有初始感染节点这个东西,所以可以添加一维,表示这个连通块是否确定了初始感染节点,也就是 表示 子树(选了 节点)内选了 个点进入连通块,是/否确定了初始感染节点的概率,初始值即为 \(dp_{t,1,1}=
[2022CCPC广州] XOR Sum
摘要:这个肯定要分二进制位来做了,所以考虑数位dp,先看要放哪些东西进dp状态:现在处理到第几位了,有多少个数现在是顶着上界的,还差多少值和才能到 。现在看怎么转移。 ,可以直接枚举这一位上有多少个 ,当第 位有 个 时,对和