摘要:题目链接 https://codeforces.com/problemset/problem/1980/E 题意 共输入\(T\)组测试用例,每组测试用例第一行输入两个整数\(n, m\),分别代表输入的数据的行数和列数,其中\(1 \leq T \leq 10^4,n * m \leq 2 * 1
阅读全文
摘要:题目链接 https://codeforces.com/problemset/problem/1849/D 题意 输入 \(n(1 \leq n \leq 2e5)\) 和长为 \(n\) 的数组 \(a(0 \leq a[i] \leq 2)\)。 最初,数组的每个元素都是蓝色的。 有两种类型的操
阅读全文
摘要:题解 通常直接思考最佳策略是十分困难的,我们不妨思考每一种情况需要如何处理: 整个字符串只有一种字符 若字符串长度为 \(1\),那么字符串本身即为答案; 若字符串长度大于等于 \(2\),那么不存在可行方案 整个字符串只有两种字符 \(c_1,c_2\),数量分别为 \(n_1,n_2\) 若字符
阅读全文
摘要:题目链接 https://codeforces.com/problemset/problem/1978/D 题意 对于每个测试用例,共有 \(n\) 个人,每个人的号码分别是 \(1,2,...,n\),每个人的粉丝数量是 \(a_i\),他们的粉丝都会为他们投票。有c人举棋不定,他们会将票投给号码
阅读全文
摘要:题意 给定一个整数 \(T\),代表共有\(T\)组测试用例,对于每组测试用例: 给定四个整数 \(n,m,k和w(1 \leq n,m \leq 2 * 10^5, 1 \leq w \leq n * m \leq 2 * 10^5, 1 \leq k \leq min(n, m))\),随后输入
阅读全文
摘要:前言 双堆懒删除 当需要维护若干元素中的最大值(或最小值)时,可以用一个堆维护,但是堆只擅长处理堆顶元素,对堆中任意元素的处理就束手无策了。此时,可以引入另外一个堆,我们定义原来的堆为保存堆 \(ex\),新的堆为懒删除堆 \(de\)。那么当需要从保存堆中删除任意一个元素时,可以先将元素放入懒删除
阅读全文
摘要:前言 反悔贪心是贪心算法的一种改进或扩展策略。贪心算法是指仅考虑每步最优,从而达到全局最优。在传统贪心算法的基础上,反悔贪心允许算法在一定条件下进行回溯或调整。简言之就是采取骑驴找马的策略,在别无选择的情况下,先选择当前最优解,当有更好的选择的时候,将之前最糟糕的选择替换为新的选择。 题目 http
阅读全文