随笔分类 - 题解
题解
摘要:[HNOI2009] 梦幻布丁 题意 给出一个序列 ,有 次操作,每次修改把序列中一种数全部改为另一种数。 每次询问,查询序列 的颜色段个数。 思路 颜色段只有同一种颜色才有贡献,我们考虑每种颜色开一棵平衡树维护。 每种颜色维护其在原序列中的下标,下标连续的一段区间
阅读全文
摘要:[NOIP 2024 模拟3]变幻 题意 给出长度为 的序列 。可以进行 次修改。 每次修改可以把一个数变得更小。求序列中山谷数之和的最大值。 思路 动态规划,定义 表示前 个数进行 次修改的最大和。 因为连续两个点
阅读全文
摘要:[COCI2022-2023#4] Zrinka 题意 给定两个由 组成的序列。 只能填入偶数, 只能填入奇数。 要求两个序列单调递增并且每个数最多使用一次。 求所用数最大值的最小值。 思路 动态规划。 定义 表示序列 填到
阅读全文
摘要:[COCI2015-2016#2] VUDU 题意 求一个序列中有多少个子段平均数大于 。 思路 区间和相关的问题可以考虑前缀和。 对于原序列前缀和序列 ,询问等价于求数对 的个数,满足: \[\frac{a_r - a_{l-1}}{r-l+
阅读全文
摘要:[COCI2009-2010#2] PASIJANS 题意 给出 个栈,每次可从任意一个栈取出栈顶放入答案队列。 求字典序最小的答案队列。 思路 考虑贪心。每次从字典序最小的栈中取出栈顶。 如何动态找出字典序最小的栈? 可以使用堆,单次 查找最小值,\(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 题意 给出一张图,在这张图中,任意两点间不存在节点数超过 的简单路径。 第 个点被选的代价为 ,每个节点要么选,要么与它直接相连的点中至少有一个被选。 求最小代价。 思路 图的生成树上状压动态规划。 由于给出的是一张
阅读全文
摘要:[CQOI2007] 涂色 题意 给出一个字符串,每个位置有一种颜色。 有一个初始无颜色的字符串,每次可以把一段字符染成同一种颜色。 求最少染多少次色,能把两个字符串变成一样。 思路 区间动态规划。 定义 表示把 这段区间染成一样需要的最小次数。 发现染
阅读全文
摘要:找朋友2 题意 给出 个数,要求每连续 选出至少两个数,求出选出数和的最小值。 思路 定义 表示考虑前 个人,第 个人和第 个人必选的和的最小值。 \[dp_{i,j} = \min_{j+k\le m} \l
阅读全文
摘要:二进制或序列 题意 给出长度为 的序列,任意两个数进行或运算后加入序列。 问进行无数次操作后,序列去重后的长度。 思路 定义 表示数 可以被序列中的元素或出的值。 若 表示 可以被序列中的元素或出来,答案加一。 从小到大枚举每个
阅读全文
摘要:[SCOI2009] 迷路 题意 给出一张带权有向图,从 号点出发,必须在恰好 时刻到达 。 中途不能停留,求有多少种方案。 思路 先考虑边权为 的情况,设 为从 走到 花费 个时刻的方案数
阅读全文
摘要:[COCI2021-2022#1] Kamenčići 题意 有一排石头,石头有红色和蓝色。 Alice 和 Bob 轮流从两端取石头,Alice 先手。 谁先去出 块红色石头谁输掉,求出最后谁获胜。 思路 先考虑搜索,记录当前区间,Alice 和 Bob 的红色石头个数,回合数。 再考
阅读全文
摘要:[NOIP 2024 模拟2]表 题意 给定质数 。数 可以花费 的代价变为 ,对于每对 ,求 变成 的最小代价。 思路 70 pts 暴力建图跑 Floyd,时间复杂度 \(O(P^3)
阅读全文