摘要: 传送门 更加详细的讲解 上面题解里的式子不再写一遍了 与「在不在mod n加法下的群中(能否通过加减得到这个数)」相关的问题可以尝试通过裴蜀定理转化为是否同余于gcd之类 于是考虑如何在可以接受的复杂度内判断一个 \(g\) 是否合法 对 \(k\) 个数都判断一遍肯定T了,发现我们只需要判断是否整 阅读全文
posted @ 2021-11-17 19:08 Administrator-09 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 传送门 更加详细的讲解 将C看成1,T看成-1 暴力的话考虑前后各扫一次,从前面扫的那一次贪心的尽量靠后 然后从后向前扫一遍统计剩下的点的后缀最小值 优化的难点在于统计重复区间 但这样不好优化 发现在贪心策略下我们需要删除的点实际上是前缀和第一次为-1,-2……的位置, 以及删除这些点后后缀和第一次 阅读全文
posted @ 2021-11-17 18:50 Administrator-09 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 传送门 原题 Code: #include <bits/stdc++.h> using namespace std; #define INF 0x3f3f3f3f #define N 100010 #define ll long long // #define int long long char 阅读全文
posted @ 2021-11-17 17:56 Administrator-09 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 传送门 贪心选一个最大的选一个最小的即可 Code: #include <bits/stdc++.h> using namespace std; #define INF 0x3f3f3f3f #define N 100010 #define ll long long #define int long 阅读全文
posted @ 2021-11-17 17:54 Administrator-09 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 传送门 发现可以矩阵优化转移 一次能跳两行,可以将矩阵开大一倍存一下上一行的信息 对于一类形如「对一些矩阵维护队列,要每次查询整个队列中的矩阵的乘积」的问题: 那么我们维护两个栈,每个维护一段区间 \([l, m], [m+1, r]\) 第一个栈的第 \(i\) 个元素,维护从第 \(i\) 行到 阅读全文
posted @ 2021-11-17 06:22 Administrator-09 阅读(0) 评论(0) 推荐(0) 编辑