合集-题解

摘要:题目描述 小 M 有两个长度为 \(n\) 且字符集为 \(\{0,1\}\) 的字符串 \(s1,s2\)。 小 M 希望两个字符串中对应位置字符相同的出现次数尽可能多。 小 M 可以用工具对 \(s1\) 或 \(s2\) 进行多次字符交换,其中可以参与交换的字符能够交换任意多次。 现在小 M 阅读全文
posted @ 2024-12-02 20:01 IC0CI 阅读(278) 评论(0) 推荐(0)
摘要:题目描述 小 F 有 \(n\) 个变量 \(x_1,x_2, ... ,x_n\)。每个变量可以取 \(1\) 至 \(v\) 的整数取值。 小 F 在这 \(n\) 个变量之间添加了 \(n-1\) 条二元限制,其中第 \(i(1 \leq i \leq n-1)\) 条限制为:若 \(x_i 阅读全文
posted @ 2024-12-05 20:49 IC0CI 阅读(141) 评论(0) 推荐(0)
摘要:题面 题目描述 给定一棵 \(n\) 个节点的树,每个点有一个权值。有 \(m\) 个询问,每次给你 \(u,v,k\),你需要回答 \(u \text{ xor last}\) 和 \(v\) 这两个节点间第 \(k\) 小的点权。 其中 \(\text{last}\) 是上一个询问的答案,定义其 阅读全文
posted @ 2024-12-25 20:28 IC0CI 阅读(66) 评论(1) 推荐(0)
摘要:题面 [BJOI2015] 骑士的旅行 题目背景 在一片古老的土地上,有一个繁荣的文明有N座城且由恰好N-1条双向道路连接起来,使得任意两座城都是连通的。也就是说,这些城形成了树的结构,任意两座城之间有且仅有一条简单路径。Henry从小就渴望成为一名骑士。勤奋训练许多年后,他决定离开家乡,向那些成名 阅读全文
posted @ 2024-12-27 23:02 IC0CI 阅读(25) 评论(0) 推荐(0)
摘要:题面分析 给 \(n\) 个点,用 \(k\) 个颜色进行染色,有 \(m\) 条边,求非等价着色数。 关于主要内容 对于这样一道考 Pólya 定理的题目,我考虑直接套用式子 \[N(G,\mathcal{C}) = \frac{1}{|G|} \sum_{f \in G}{\#(f)} \]其中 阅读全文
posted @ 2025-05-07 19:56 IC0CI 阅读(8) 评论(0) 推荐(0)
摘要:题面分析 要求实现两种操作,分别为区间加、区间差值加。 区间差值加(自己取的名字):将区间中每相邻两个数的差值加一个数。 关于主要内容 考虑做两次差分。 因为差分本身的意义就是后一个元素减前一个元素,因此做两次差分就可以实现区间差值加。 操作 \(R\) 区间加1,操作 \(R\) 区间减1。 操作 阅读全文
posted @ 2025-05-28 19:14 IC0CI 阅读(8) 评论(0) 推荐(0)
摘要:题面分析 形式化地说,一个平面中有 \(T\) 个互不重叠的三角形和 \(V\) 个关键点(任意三个关键点都不共线),求有多少对关键点之间的线段不会穿过三角形。 注意到这道题的数据很小 \((T,V \le 1000)\) 且时间有 \(3s\),我们可以想到很朴素的 \(O(TV^2)\) 做法, 阅读全文
posted @ 2025-06-15 18:56 IC0CI 阅读(6) 评论(0) 推荐(0)
摘要:题面分析 对于一次“拔除”操作根节点取到的值一定是目前根节点所有儿子中最小的,而下一次“拔除”中根节点取到的值是目前根节点除最小儿子外的所有儿子和最小儿子的所有儿子中最小的那个。 关于具体实现 容易想到小根堆维护,每次取小根堆队头,再将队头节点的所有儿子加入小根堆。 需要注意的是std::prior 阅读全文
posted @ 2025-07-10 17:48 IC0CI 阅读(8) 评论(0) 推荐(0)
摘要:题面分析 题目其实就是:给出 \(n\) 段区间 \([l,r]\) 每段区间都有一个权值 \(s\),问在 \(1 \sim n\) 中哪个点覆盖该点的所有区间中权值最大的三个区间权值和最大,输出这个最大权值和。 关于具体实现 可以想到用类似单调队列的逻辑,依次遍历 \(1 \sim n\) 的每 阅读全文
posted @ 2025-07-10 17:49 IC0CI 阅读(11) 评论(0) 推荐(0)
摘要:题面分析 题目要求每次交换两个字符,最少多少次交换使第一个字符串变成第二个字符串。 很简单地想到可以凸轮建模,如果一个字符 \(c1\) 要变成另一个字符 \(c2\) 就从 \(c1\) 向 \(c2\) 连有向边,最后再判断环的个数统计答案即可。 关于具体实现 由于只有四种字符,所以建好的图中只 阅读全文
posted @ 2025-07-10 17:49 IC0CI 阅读(7) 评论(0) 推荐(0)
摘要:题面分析 引用题面的形式化题意:在元素互不相同的数列 \(a\) 中选出一个长度为 \(m\) 的元素互不相邻的子序列,使得子列的极差最小。 想要直接选出长度为 \(m\) 的元素互不相邻的子序列有点麻烦,所以我们从极差最小入手,先给 \(a\) 数组排个序,考虑用双指针跑,跑到合适的记录答案。 现 阅读全文
posted @ 2025-07-10 17:50 IC0CI 阅读(6) 评论(0) 推荐(0)
摘要:题面分析 给出一个无向图,统计三元环。 一个根号算法(人类智慧?)。 对于所有给出的无向边,我们给他们钦定一个方向,即由入度较大的指向入度较小的,若入度相同就由顶点编号大的指向编号较小的。 这样可以使这个图变成一个有向无环图,其中所有三元环都长这样: 可以使统计复杂度变为 \(O(N \times 阅读全文
posted @ 2025-07-10 17:51 IC0CI 阅读(5) 评论(0) 推荐(0)
摘要:给出一种朴素(暴力)做法 题面分析 给出的一个 \(n \times m\) 的目标网格图。每次操作能使一行或一列变为一种颜色,需要你构造一种在 \(n + m\) 次操作之内,将空图变成目标图的方案。 发现:每次操作后必有至少一行或一列为同一种颜色,相反地,我们也能从目标图每次找只有一种颜色的一行 阅读全文
posted @ 2025-07-10 17:51 IC0CI 阅读(5) 评论(0) 推荐(0)