随笔分类 - 题解
题解
摘要:楼房重建 题意 小 A 在平面上 \((0,0)\) 点的位置,第 \(i\) 栋楼房可以用一条连接 \((i,0)\) 和 \((i,H_i)\) 的线段表示,其中 \(H_i\) 为第 \(i\) 栋楼房的高度。如果这栋楼房上任何一个高度大于 \(0\) 的点与 \((0,0)\) 的连线没有与
阅读全文
摘要:[HNOI2009] 梦幻布丁 题意 给出一个序列 \(a\),有 \(q\) 次操作,每次修改把序列中一种数全部改为另一种数。 每次询问,查询序列 \(a\) 的颜色段个数。 思路 颜色段只有同一种颜色才有贡献,我们考虑每种颜色开一棵平衡树维护。 每种颜色维护其在原序列中的下标,下标连续的一段区间
阅读全文
摘要:[2023四校联考3]sakuya 题意 给出一棵 \(n\) 个点的树,有 \(m\) 个特殊点 \(a\),求将 \(a\) 随机打乱后 \[\sum_{i=2}^m d(a_{i-1},a_i) \bmod 998244353 \]的期望。有 \(q\) 次修改,每次将一个点连接的所有边权值增
阅读全文
摘要:[2023四校联考3]meirin 题意 给出两个序列 \(a,b\),\(b\) 需要支持区间加。 每次修改完后求: \[\sum_{l=1}^n\sum_{r=l}^n(\sum_{i=l}^{r}a_i)\times (\sum_{i=l}^{r}b_i) \bmod 10^9+7 \]思路
阅读全文
摘要:[2023四校联考3]flandre 题意 初始时,\(b_i=a_i\)。 对于 \(a_i<a_j\),\(b_j \leftarrow b_j + k\)。 对于 \(a_i=a_j\),\(b_j\) 不变。 对于 \(a_i>a_j\),\(b_j \leftarrow b_j - k\)
阅读全文
摘要:[NOIP 2024 模拟3]变幻 题意 给出长度为 \(n\) 的序列 \(a\)。可以进行 \(k\) 次修改。 每次修改可以把一个数变得更小。求序列中山谷数之和的最大值。 思路 动态规划,定义 \(dp_{i,j}\) 表示前 \(i\) 个数进行 \(j\) 次修改的最大和。 因为连续两个点
阅读全文
摘要:[COCI2022-2023#4] Zrinka 题意 给定两个由 \(0,1\) 组成的序列。 \(0\) 只能填入偶数,\(1\) 只能填入奇数。 要求两个序列单调递增并且每个数最多使用一次。 求所用数最大值的最小值。 思路 动态规划。 定义 \(dp_{i,j}\) 表示序列 \(1\) 填到
阅读全文
摘要:[COCI2015-2016#2] VUDU 题意 求一个序列中有多少个子段平均数大于 \(P\)。 思路 区间和相关的问题可以考虑前缀和。 对于原序列前缀和序列 \(a\),询问等价于求数对 \((l,r)(l\le r)\) 的个数,满足: \[\frac{a_r - a_{l-1}}{r-l+
阅读全文
摘要:[COCI2009-2010#2] PASIJANS 题意 给出 \(n\) 个栈,每次可从任意一个栈取出栈顶放入答案队列。 求字典序最小的答案队列。 思路 考虑贪心。每次从字典序最小的栈中取出栈顶。 如何动态找出字典序最小的栈? 可以使用堆,单次 \(O(1)\) 查找最小值,\(O(\log n
阅读全文
摘要:Atcoder Beginner Contest 372 A - delete . 模拟即可。 #include <bits/stdc++.h> using namespace std; using ll = long long; void solve() { char ch; while (cin
阅读全文
摘要:[POI2014] TUR-Tourism 题意 给出一张图,在这张图中,任意两点间不存在节点数超过 \(10\) 的简单路径。 第 \(i\) 个点被选的代价为 \(C_i\),每个节点要么选,要么与它直接相连的点中至少有一个被选。 求最小代价。 思路 图的生成树上状压动态规划。 由于给出的是一张
阅读全文
摘要:[CQOI2007] 涂色 题意 给出一个字符串,每个位置有一种颜色。 有一个初始无颜色的字符串,每次可以把一段字符染成同一种颜色。 求最少染多少次色,能把两个字符串变成一样。 思路 区间动态规划。 定义 \(dp_{i,j}\) 表示把 \([l,r]\) 这段区间染成一样需要的最小次数。 发现染
阅读全文
摘要:[清华集训2012] 串珠子 题意 给定 \(n\) 个点和 \(n\times n\) 的矩阵 \(c\)。 有 \(c_{i,j}\) 种方案把点 \(i\) 和点 \(j\) 连接起来。 求有多少种方案使得整张图连通。 思路 注意到 \(1\le n \le 16\),考虑状压。 定义 \(g
阅读全文
摘要:找朋友2 题意 给出 \(n\) 个数,要求每连续 \(m\) 选出至少两个数,求出选出数和的最小值。 思路 定义 \(dp_{i,j}\) 表示考虑前 \(i\) 个人,第 \(i\) 个人和第 \(i-j\) 个人必选的和的最小值。 \[dp_{i,j} = \min_{j+k\le m} \l
阅读全文
摘要:二进制或序列 题意 给出长度为 \(n\) 的序列,任意两个数进行或运算后加入序列。 问进行无数次操作后,序列去重后的长度。 思路 定义 \(f_i\) 表示数 \(i\) 可以被序列中的元素或出的值。 若 \(f_i=i\) 表示 \(i\) 可以被序列中的元素或出来,答案加一。 从小到大枚举每个
阅读全文
摘要:[SCOI2009] 迷路 题意 给出一张带权有向图,从 \(1\) 号点出发,必须在恰好 \(t\) 时刻到达 \(n\)。 中途不能停留,求有多少种方案。 思路 先考虑边权为 \(1\) 的情况,设 \(f_{t,i,j}\) 为从 \(i\) 走到 \(j\) 花费 \(t\) 个时刻的方案数
阅读全文
摘要:[COCI2021-2022#1] Kamenčići 题意 有一排石头,石头有红色和蓝色。 Alice 和 Bob 轮流从两端取石头,Alice 先手。 谁先去出 \(k\) 块红色石头谁输掉,求出最后谁获胜。 思路 先考虑搜索,记录当前区间,Alice 和 Bob 的红色石头个数,回合数。 再考
阅读全文
摘要:[NOIP 2024 模拟2]数组操作 题意 有 \(n + 2\) 个整数 \(a_0, a_1, . . . , a_n, a_{n+1}\),\(a_0 = a_{n+1} = 0\)。你需要做确切地 \(n\) 次操作,每次数组操作为以下形式: 选择一个整数 \(x\) 满足 \(a_x \
阅读全文
摘要:[NOIP 2024 模拟2]矩阵学说 题意 给出 \(n\) 行 \(m\) 列的矩阵,第 \(i\) 行第 \(j\) 列的元素为 \(a_{i,j}\),找出满足以下条件的三元组 \((i, j, x)\) 的 数量: \(1 ≤ i ≤ n\), \(1 ≤ j \le m\), \(1 ≤
阅读全文
摘要:[NOIP 2024 模拟2]表 题意 给定质数 \(P\)。数 \(x\) 可以花费 \(|x-y|\) 的代价变为 \(xy \bmod P\),对于每对 \((a,b)\),求 \(a\) 变成 \(b\) 的最小代价。 思路 70 pts 暴力建图跑 Floyd,时间复杂度 \(O(P^3)
阅读全文