摘要: 一、分析 数据范围:\(1\leq n,m\leq12\) ,考虑状压DP 将每一行的状态压为一个二进制数,设 \(f[i]\) 表示第 i 行的状态 二、按行转移 预处理出所有的合法状态(只处理相不相邻) 枚举出第 i-1 行及第 i 行的状态判断: 1、第 i 行的状态必须全在肥沃土地上( \( 阅读全文
posted @ 2026-06-14 21:33 Aguanenti 阅读(2) 评论(0) 推荐(0)
摘要: 一、思路 1、暴力 先忽略数据大小,将村庄坐标按从小到大排序后,做线性DP 设 \(f[i][j]\) 表示在前 i 个村庄设置 j 个邮局的最小距离和 设 \(w(k+1,j)\) 表示在第 k+1 个村庄到第 j 个村庄设置一个邮局的最小距离和 \[f[i][j]=min_{k=0}^{i-1} 阅读全文
posted @ 2026-06-14 16:41 Aguanenti 阅读(2) 评论(0) 推荐(0)
摘要: 一、题意 给定一个 𝑛 × 𝑛 大小的方格图,每个方格一开始是黑色或者白色。每次可以选定一个\(h\times w\)的矩形将其中方格都涂成白色,代价是 \(max(h,w)\) 。求最小代价 输入: 第一行包含一个整数 \(n \;( 1≤n≤50 )\) — 正方形网格的大小。 接下来的 \ 阅读全文
posted @ 2026-06-13 10:30 Aguanenti 阅读(4) 评论(0) 推荐(0)
摘要: 一 . 分析 数据值不变 \(\Rightarrow\) 二叉树的中序遍历不变 修改权值,每次只修改树的形态,相当于左旋,右旋,会使节点的深度改变 权值可以修改为任意实数,所以权值之间可以无限接近,看作相同的。因此,权值对题目答案没有影响,可以将权值离散化到 \([1,n]\) 中 二、DP 设 \ 阅读全文
posted @ 2026-06-13 09:45 Aguanenti 阅读(1) 评论(0) 推荐(0)
摘要: 题意:数轴上有\(n\)个点,坐标分别为\(p_1,p_2,...,p_n\), 在这些点上按照某些规则。规则是:每次向距当前点第 \(k\) 小的点跳,如果有相同距离则向下标较小的跳;求从每个点出发跳了\(m\)次后在哪里 \(k\) 值固定,预处理出距离每个点第\(k\)近的点,通过单调队列滑动 阅读全文
posted @ 2026-06-13 08:43 Aguanenti 阅读(2) 评论(0) 推荐(0)
摘要: 与 P1063能量项链 类似,都是环且只能选取相邻的两个节点合并,考虑 区间 DP 处理环:断环成链 设 \(f[i][j]\) 表示合并区间 \([i,j]\) 得到的最高分数 加法:\(f[i][j]=max(f[i][j],f[i][k]+f[k+1][j])\) 乘法: \(f[i][j]= 阅读全文
posted @ 2026-06-11 17:01 Aguanenti 阅读(5) 评论(0) 推荐(0)
摘要: [ P1081 [NOIP 2012 提高组] 开车旅行]([P1081 [NOIP 2012 提高组] 开车旅行 \(O(nlgn)\) 预处理 预处理出小A和小B在每个城市下次到达的城市,即距离每个点的最近点和次近点 最近点和次近点只可能在前驱、前驱的前驱、后继、后继的后继中 数轴上找前驱和后继 阅读全文
posted @ 2026-06-07 20:49 Aguanenti 阅读(3) 评论(0) 推荐(0)
摘要: 题意: 给定一个 \(n×n\) 的棋盘,其中有 \(n\)个棋子,每行每列恰好有一个棋子 求有多少个 \(k×k\) 的子棋盘中恰好有\(k\) 个棋子 \(n\leq3×10^5\) "所有 \(r_i\) 各不相同,所有 \(c_i\) 也各不相同" \(\Rightarrow\) 各行各列都 阅读全文
posted @ 2026-06-05 20:29 Aguanenti 阅读(13) 评论(0) 推荐(0)