摘要: 这个人太菜了, 不配有介绍. 好了不开玩笑. 这里是聂天泽的频道, 初一菜鸡OIer. 阅读全文
posted @ 2022-04-11 10:00 聂天泽 阅读(54) 评论(2) 推荐(0) 编辑
摘要: 如果要输出 x 位的变量 output . cout << fixed << setprecision(x) << output << endl; setprecision头文件是 <iomanip> . 阅读全文
posted @ 2022-07-20 21:34 聂天泽 阅读(62) 评论(0) 推荐(0) 编辑
摘要: P2607 [ZJOI2008] 骑士 思路 显然抽象成图, 由每个骑士向他最讨厌的骑士 每个节点对应一条边, 即 \(n\) 个节点, \(n\) 条边, 并且没有说任意两点相联通, 所以是基环森林. 那么很容易就能想到基环树形dp 状态 显然对于每个节点有两种选择 选( \(1\) ) 不选( 阅读全文
posted @ 2022-05-20 20:25 聂天泽 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 原题 思路 经典的区间dp. 显然 \(dp[i][j]\) 表示将字符串的 \([i, j]\) 区间变合法的最少操作数. \(i, j\) 没有配对时有: \(dp[i][j] = \mathop{min\{dp[i][k] + dp[k + 1][j]\}}\limits_{i \leq k 阅读全文
posted @ 2022-05-16 14:58 聂天泽 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 原题 思路 简单的区间 dp , 显然 \(dp[i][j]\) 表示从 \(i\) 一直聚合到 \(j\) . 再枚举断点 \(k(1\leq k < j)\) , 考虑合并 \(dp[i][k]\) 和 \(dp[k + 1][j]\) , 显然最终答案里包含 \(dp[i][k] + dp[k 阅读全文
posted @ 2022-05-16 11:43 聂天泽 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 比赛链接 排名 (见证历史) A P8344 「Wdoi-6」走在夜晚的莲台野 显然有解要满足 \(x \leq z\) 否则无解. 再考虑最多有多少个银色木板能被放入: 显然我们一定要先放银色, 再放金色(否则先放的金色会被浪费, 没有利用). 于是我们可以贪心地每次都放满银色, 再预留一个位置给 阅读全文
posted @ 2022-05-15 19:38 聂天泽 阅读(86) 评论(5) 推荐(1) 编辑
摘要: 原题链接: loj #10173 思路 注意到 \(1 \leq n \leq 100, 1 \leq m \leq 10\) ,并且对于每个格子都有放和不放两种选择, 所以断言是状压dp. 而状压dp需要一点位运算知识, 详见 状压dp常用位运算 状态 首先显然第一维是行数( \(n\) 很小, 阅读全文
posted @ 2022-05-11 21:53 聂天泽 阅读(33) 评论(0) 推荐(0) 编辑
摘要: n & (1 << i) 这句话的意思是二进制中, 取出 \(n\) 的第 \(i + 1\) 位. 比如 \(n = 14\) , \(i = 3\) , 那么因为 \((14)_2 = (1110)_2\) ,所以结果是 \((1000)_2 = (8)_{10}\) x & y 取出 \(x\ 阅读全文
posted @ 2022-05-11 21:29 聂天泽 阅读(34) 评论(0) 推荐(0) 编辑
摘要: A. Lucky? 没什么好说的, 直接模拟即可. #include <bits/stdc++.h> using namespace std; inline int read() { int x = 0; char c = getchar(); bool f = 1; while(c < '0' | 阅读全文
posted @ 2022-05-11 15:00 聂天泽 阅读(226) 评论(3) 推荐(2) 编辑
摘要: 在本题中, 我使用 \(m\) 来代替题目原文中的 \(k\) , 需要注意. 方法 看到 \(1 \leq n \leq 9\) 和每个格子都只有两个状态(放或不放)第一时间想到状压dp. 案例 由于样例的方案数有点多, 所以考虑一个更简单的情况: 在 \(3 \times 3\) 格子中放 \( 阅读全文
posted @ 2022-05-09 21:36 聂天泽 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 定义 树的直径: 树中最长的简单路径. 状态 由于本片讲述的是树形dp方法, 故需要设计状态. 我们令dp[u][0]表示以 \(u\) 为根的子树中最长的简单路径的长度, dp[u][0] 以 \(u\) 为根的子树中次长的简单路径的长度. 那么, 最终答案 \(length = \mathop{ 阅读全文
posted @ 2022-05-06 11:35 聂天泽 阅读(85) 评论(1) 推荐(1) 编辑