合集-个人记录
摘要:看题解过了这道题,理解的时候比较费力,写一篇题解加深印象。 首先考虑 easy vesion,将最少代价转化成最多能留下来多少个,一个区间里能留下来的最大数就是众数个数,显然相等的数要放在一起考虑,容易发现两个区间的众数个数一定大于等于将这两个区间合并后的众数个数,所以按照这样拆成很多个小区间就行了
阅读全文
摘要:题目大意:在一条有地雷的路上,你现在的起点在 \(1\) 处。在 \(N\) 个点处布有地雷。每次有 \(p\) 的概率前进 \(1\) 步,\(1−p\) 的概率前进 \(2\) 步。问顺利通过这条路的概率。(不要走到有地雷的地方)。 数据规模:\(1\le N\le10\),地雷点的坐标范围:\
阅读全文
摘要:显然直接求最小值是不好做的,所以考虑二分,观察到 \(n,m\) 都特别小,因为每个防御塔最多会发射 \(m\) 发导弹,于是可以枚举第 \(i\) 个防御塔已经发射过 \(j\) 次,看能否在二分的 \(mid\) 时间内打中第 \(k\) 个入侵者,如果可以则 \(i+j \times n\)
阅读全文
摘要:题意 有 \(n\) 辆车,每个车有一个运行的方向(L 表示向左走,R 表示向右走)和初始位置,速度为任意值,这些都是不知道的,需要我们去求,已知的是 \(m\) 个关系 。 \(1\) \(i\) \(j\) 表示第 \(i\) 辆车和第 \(j\) 辆车必定不会相遇。 \(2\) \(i\) \
阅读全文
摘要:首先很显然可以得出 \(O(n^2)\) 的暴力dp: \(dp_i=\max\{\lfloor\frac{dp_j}{2}\rfloor + t_i \times t_j-f_j\}\) 显然过不了,考虑优化,因为式子里面有 \(t_i \times t_j\) 这一项,故排除单调队列优化,线段树
阅读全文
摘要:因为这道题是在树上的,所以我们很套路地先 dfs 一次 ,这样一颗子树上的结点的 \(dfn\) 就在一起了,对子树的操作就转化为对区间的操作,但是怎么数区间内出现了哪些数呢?因为是对区间加了 \(x\) 后再 \(mod\) \(m\) 所以相当于是将这个区间原本有的数整体向右移了 \(x\) 位
阅读全文
摘要:很久之前大洋彼岸给我说的题,当时他还跟我讲了解法,我还没听懂,现在再看一眼题解发现是水题 首先我们肯定不能将每个子区间的 \(mex\) 求出来,于是转换思路,改为判定每个数是否能成为一个子区间的 \(mex\) 值,那么一个数 \(i\) 能够成为子区间的条件就是在这个值分割出来的每个区间中至少存
阅读全文
摘要:首先看到要插入序列,所以自然地想到平衡树,那么左儿子就是左边的序列,右儿子就是右边的序列,求这个值的朴素算法是dp吧,就是前 \(i\) 个燃料,已经到了第 \(j\) 阶段的最大值,但是因为左右儿子是一坨序列,我如果按照这样维护 \(dp\) 的话我也不知道右儿子开始的时候到了哪个阶段,所以很自然
阅读全文
摘要:先来分析一下题面的要求:区间内加入至多 \(k\) 个数形成一个公差为 \(d\) 的等差数列 那么区间要满足以下条件: 所有数对 \(d\) 取模的值相等 没有重复的数 \((max-min+1)-(r-l+1)\le k\) 看着没有其它的选择,只能使用扫描线,前两个条件在扫描右端点的时候修改左
阅读全文
摘要:首先这个题一眼看过去是个01背包,但是01背包是有时间复杂度下限的,显然无法通过这道题,所以肯定要挖掘一下性质,注意到 \(c_i\le 300\) 可能成为破题点,所以我们先改成对于每种 \(c_i\) 来分组进行背包,然后发现这个东西是有决策单调性的。就是对于mod \(c_i\) 相等的dp状
阅读全文
摘要:题意:给一个长度为 \(n(n\le 5\times 10^5)\) 的数组 \(a\) ,两个操作: \(0\) \(x\) \(y\) 将 $a_x $ 修改成 \(y\) \(1\) \(l\) \(r\) 查询 \([l,r]\) 有多少子区间满足区间内元素两两不相等 先简化问题,求 \([
阅读全文
摘要:\(b_i\) 要大于等于0,所以可以将这个 \(DAG\) 分层,每层的权值相等,对于 \(x-> y\) 的边,就使得 \(x\) 的层数比 \(y\) 的层数小,因为 \(n\le 18\) 所以可以考虑状压,设 \(f_{s}\) 表示已经有 \(s\) 对应的点分好了层的最小代价,考虑转移
阅读全文
摘要:题目 1操作是一个区间推平,所以可以考虑使用珂朵莉树。因为每轮都要对 \(b\) 做加法操作,所以可以搞一个时间戳 \(tim\),这样就可以不用每次操作结束后都加一遍,直接把这个转化为时间戳,即 \(b_i+=\sum _{i=l} ^r c_i \times tim - lst_i\) 其中 \
阅读全文
摘要:一眼树形dp,但是因为有初始感染节点这个东西,所以可以添加一维,表示这个连通块是否确定了初始感染节点,也就是 \(dp_{i,j,0/1}\) 表示 \(i\) 子树(选了 \(i\) 节点)内选了 \(j\) 个点进入连通块,是/否确定了初始感染节点的概率,初始值即为 \(dp_{t,1,1}=
阅读全文
摘要:这个肯定要分二进制位来做了,所以考虑数位dp,先看要放哪些东西进dp状态:现在处理到第几位了,有多少个数现在是顶着上界的,还差多少值和才能到 \(n\)。现在看怎么转移。\(k\le 18\) ,可以直接枚举这一位上有多少个 \(1\) ,当第 \(t\) 位有 \(x\) 个 \(1\) 时,对和
阅读全文
摘要:CF53E Dead Ends(状态压缩) 题意 给你 \(n\) 个点和 \(m\) 条边,求这个图的有 \(k\) 个叶子的生成树的个数 (\(n \leq 10\)) solution \(n\) 特别小,考虑状压,于是状态设计就是 \(dp_{sta1,sta2}\) 表示 \(sta1\)
阅读全文
摘要:想记啥记啥 CSP-S2024染色(dp) 考场上想的是被分割出来的两个区间内部的点还有贡献怎么办,现在重新看这个题,发现当时的dp是能考虑到这种情况的,因为这种情况在前面的dp已经算过了 提交记录 NOIP2017 提高组宝藏(状压dp) 把挖宝藏的过程看成扩展一颗树,预处理一下每个状态之间转移的
阅读全文

浙公网安备 33010602011771号