随笔分类 - Solution
题解
摘要:Luogu 题面 & CodeForces 题面 通过手玩,易知只有大于或小于当前数 \(k\) 的状态才会对答案有所影响,也就是说当前数的大小不重要,重要的是与 \(k\) 的大小关系。 这样原来的序列只有两种: \(\{k,>k,>k,>k,>k,\dots\}\) 或 \(\{k,<k,<k,
阅读全文
摘要:题面 一道 simple 的树形 DP 设状态 \(f(i,j,0/1,0/1)\) 表示在节点 \(i\) 作为根节点的子树内 该节点用了 \(j\) 个监听设备 该节点不放/放 该节点在该子树内被不被监听/被监听 的方案数 \[ \begin{cases} \ f(u,0,0,0) = 0\\
阅读全文
摘要:题面 本文主要来记录一个没见过的树形背包 DP 写法 这题是个裸的 tarjan 缩点和树形背包 DP 显然循环依赖就缩成一点再进行 DP 即可 设 \(f(i,j)\) 为 dfs 序中第 i 个点及以后占用磁盘空间为 j 的连通块的最大价值 有 \(f(i,j)=\max \{f(i+1,j-W
阅读全文
摘要:题面 可以发现最后由 \(n\) 个点组成的图是有环的,我们继而进行缩点后 DP step 1: 建图 暴力是 \(\mathcal{O}(n^2)\) 的,优化 可以发现同一行的标号均为 1 的点可以形成环 同一列的标号均为 2 的点可以形成环 有以下思路: 先将行数排序作为第一关键字,将是否标号
阅读全文
摘要:概率DP(应该是小于等于蓝题的难度 设 \(f(i,j)\) 表示前 \(i\) 项比赛除此人外得分为 \(j\) 的期望人数 有转移: \(f(i,j)= \frac{1}{m-1} \sum_{k=j-m}^{j-1}f(i-1,k)\times[k\neq j-c_i]\) 很显然的前缀和 设
阅读全文
摘要:T3 观察题目及表达式,建立表达式的二叉树,以运算符为非叶子节点,变量为叶子节点,其中 \(&\) 和 \(|\) 运算符有左右两子树, \(!\) 只有左子树 发现每次询问需要 \(\mathcal{O}(\log n)\) 或 \(\mathcal{O}(1)\) 的复杂度,考虑预处理答案 发现
阅读全文
摘要:"题面" 复习一下线段树 将城市变成轮廓线,每一个位置的高度自然选的是该位置高度的最大值 维护这个东西,你可以用各种各样的东西,比如线段树 因为数据范围小,不需要离散化,但是建议写离散化练手~~这个人太蒻了竟然没写,打他~~ 我们以每个位置为线段的节点,造一颗线段树,因为没有初值,像我这样的线段树不
阅读全文
摘要:"题面" 相对来说比较水的实数二分,但是这精度卡的。。。 废话不说,做法概要: 二分的部分就不说了,自己去实现,自己去卡精度 只说 函数以及特殊处理 对于答案是 $ 1$ 的情况,只有一种情况,即: $$\sum_{i=1}^n a_i \leq p$$ 注意:计算 $\sum_{i=1}^n a_
阅读全文
摘要:"题面" 题意简述 给 $n$ 个物品,每个物品有两个属性(为整数),要求从中选若干个物品,使得两属性的总和最大且任意一个属性的和不得小于 $0$ 解 题意类似于背包,复杂度 $W = 400 \times 1000$ 也符合 $O(nW)$,就用背包的思想来考虑 惯用伎俩,选一个属性为重量,另一个
阅读全文
摘要:"题面" 题意简述: 给一个节点数为 $n$ 且有 $n 1$ 条边的连通图,给出每个点的点权 $c_i$ ,对于每一个点,求出与其距离不大于 $m$ 条路径的点的权值和 首先它是一棵树 ~~(废话)~~ 这题拿上手,不能正经搜索,考虑DP 设计状态 $f_{i,j}$ 表示第 $i$ 个点距离不大
阅读全文
摘要:"题面" 题目简意: 给出 $n$ 个物品,体积为 $w_i$ ,现把其分成若干组,要求每组总体积 $V \leq W$ ,问最小分组数。 看这个题意,大概率是一个DP,看一下 $n$ 的数据范围,点明了记忆化搜索和状压DP两种方法 这篇题解来讲后者 首先确定状态,每一个正整数状态 $s$ 的在二进
阅读全文
摘要:题面 #####前言: 这是2017年普及组T4,结合2018年的T3,以及NOI online 2020 T2 可以看出NOIP普及组已经对DP的数据结构优化有一定要求了 #####正文 作为一道考场题,它居然很难打暴力 首先,看到数据范围,找出我们将要枚举的两个数据 \(1\leq n \leq
阅读全文
摘要:题面 动态规划 为了方便表示,题面中的费用系数改用 \(v_i\) 确定 \(f_i\) 表示到第 \(i\) 个位置的最优解 每次转移就是钱 \(i\) 个加上一段 \([j+1,i]\) 的花费 很显然,可以用前缀和优化 但因为有 \(s\) 的存在,使得直接加上多开一维需记录分组数,却会增加巨
阅读全文
摘要:~~快被做烂的方案数状压DP~~ 设状态为一个正整数 $S$ ,其在二进制的第 $i$ 位若为 $1$ 则表示在这一块有草地 例如 $S = (0010)_2$ 表示在第 $2$ 列有草地,而其他列没有草地 那么 设 $f(i,S)$ 表示 在第 $i$ 行 状态为 $S$ 时的最优解 状态转移方程
阅读全文
摘要:裸的DP,难度标签要改 用$f[i][j]$ 表示前$i$种花且第$i$种花选第$j$个花盆的最优解 用$a[i][j]$ 表示第$i$种花选第$j$个花盆的美学值的话 状态转移方程: $f[i][j] = max(f[i 1][k](k using namespace std; char ch;
阅读全文
摘要:Luogu 1558 色板游戏 这是线段树中很基础的染色问题,像我等(JuRuo)第一秒肯定是30棵大树建好,用线段树维护一下 ~~这样既快速又简洁~~ 但是这好像没有丝毫乐趣,感受不到蓝题的感觉,不把三十棵树合成就不爽,接下来接着思考如何优化空间(重点) 题目中有要求颜料种类$T$的范围在$1 3
阅读全文
摘要:Luogu P1631 序列合并 首先看下题目, 要求的是两个长度都是$N$的序列$A$和$B$,在$A$和$B$中各取一个数相加可以得到$N^2$个和,这$N^2$个和中最小的$N$个。 看到由小到大输出,想出这有由优先队列和枚举解决的可能性,开始尝试 最简单的方式就是把每一个和都暴力塞进去,但是
阅读全文

浙公网安备 33010602011771号