当前位置:网站首页>【学习笔记】AGC036
【学习笔记】AGC036
2022-08-04 06:03:00 【仰望星空的蚂蚁】
ABC String
- 神仙贪心题
我猜的 - 考虑基本的转化,对于一串相同的字母只保留一个
- 不妨设 c n t [ A ] ≤ c n t [ B ] ≤ c n t [ C ] cnt[A]\le cnt[B]\le cnt[C] cnt[A]≤cnt[B]≤cnt[C]
- 假设我们已经知道了保留的 A A A的位置,那么把未保留的 A A A全部删掉,对于相邻的相同的字母仍然只保留一个
- 设 p p p, q q q, r r r表示 A A A, B B B, C C C出现的次数,因为删除一个 A A A最多去掉一个 B B B或 C C C,所以 p ≤ q p\le q p≤q, p ≤ r p\le r p≤r
- 假设 q = r q=r q=r,那么可以重复删除 B C BC BC直到 p = q = r p=q=r p=q=r。因为考虑 A A A隔开的若干子串,如果长度 ≥ 4 \ge 4 ≥4那么就会出现 B C B C BCBC BCBC的结构,可以删去中间的 B C BC BC,如果长度 = 3 =3 =3就会出现 A B C B A ABCBA ABCBA的结构,可以删去中间的 B C BC BC或 C B CB CB,而根据鸽巢原理一定会有一段落入至少 3 3 3个字母(两端只能最多放一个字母)
- 假设 q < r q<r q<r,
继续寻找必要条件,设含 B B B的子段数目为 x x x,只含一个 C C C的子段数目为 y y y,若 x < y x<y x<y,那么无论如何删除 B , C B,C B,C,它们的出现次数都不会相同。若 x ≥ y x\ge y x≥y,那么我们总能删除一些 C C C使得 B , C B,C B,C出现次数相同,这是因为我们总能对含 B B B的子段进行改造,使得这一段中 B B B的数目比 C C C多 1 1 1 - 回到原问题。问题转化为删除最少的 A A A使得留下的序列合法
- 那么一个合法的序列应该满足:
- 含 B B B的串大于等于 C C C的单位串,含 C C C的串大于等于 B B B的单位串
- 不妨验证其正确性:当 q < r q<r q<r时,因为合法所以含 B B B的串大于等于 C C C的单位串,同时反证法可以证明此时含 C C C的串大于等于 B B B的单位串
雾,卡了很久。当 q = r q=r q=r 时,若含 B B B的串小于 C C C的单位串,同样可以推出 B B B的数目比 C C C少,与前提矛盾 - 设原序列中含 B B B串数目为 b 1 b1 b1, B B B的单位串数目为 b 2 b2 b2,含 C C C串数目为 c 1 c1 c1, C C C的单位串数目为 c 2 c2 c2。
- 如果 b 1 ≥ c 2 b1\ge c2 b1≥c2, c 1 ≥ b 2 c1\ge b2 c1≥b2那么可以把所有的 A A A保留下来。
- 否则不妨设 b 1 < c 2 , c 1 ≥ b 2 b1<c2,c1\ge b2 b1<c2,c1≥b2
- 然后我们每次删 A A A最多只能让 c 2 c2 c2减 1 1 1而不能让 b 1 b1 b1变大
- 那么模拟删 A A A,模拟输出方案即可
- 复杂度 O ( n ) O(n) O(n)
- AC Code
该死调了一下午的大模拟
Modulo Matrix
虽然乱搞过了但是还是学一下正解- 首先可以黑白染色考虑
- 考虑对每条穿过黑色格子的斜对角线和正对角线分配质数 p p p
- 每个黑色格子上的数就是穿过它的正对角线和副对角线上质数的乘积
- 每个白色格子上的数就是上下左右四个数的 lcm \text{lcm} lcm加一,即 4 4 4个小质数的乘积加一
算下来差不多就在 1 0 15 10^{15} 1015左右
Flipper
有没有那个大佬教我怎么乱搞啊
组合优化趣题 其实考场上瞎猜下界也能骗分
两个状态互相可达,当且仅当每一列 1 1 1的奇偶性相同,每一行 p 0 , 1 , 2 p_{0,1,2} p0,1,2完全相同或全部取反。
考虑证明。显然转移是双向的,所以 A A A, B B B能转移到一个相同的状态就相互可达。
那么构造成一个大小为 ( 1 0 9 − 1 ) × ( 1 0 9 − 2 ) (10^9-1)\times (10^9-2) (109−1)×(109−2)的全是 0 0 0的矩阵即可。
令 p [ i ] = ⊕ x a [ x ] [ i ] p[i]=\oplus_xa[x][i] p[i]=⊕xa[x][i], q [ x ] [ i ] = ⊕ y a [ x ] [ y ] ( y m o d 3 = i ) q[x][i]=\oplus_{y}a[x][y](y\bmod 3=i) q[x][i]=⊕ya[x][y](ymod3=i)
考虑构造 a [ i ] = ⊕ x q [ x ] [ i ] a[i]=\oplus_{x}q[x][i] a[i]=⊕xq[x][i], b [ i ] = ∑ x p [ x ] ( x m o d 3 = i ) b[i]=\sum_{x}p[x](x\bmod 3=i) b[i]=∑xp[x](xmod3=i)
那么 a [ i ] a[i] a[i]和 b [ i ] b[i] b[i]的奇偶性必须匹配,剩下的 1 1 1的个数是 ∑ i = 0 2 max ( a [ i ] , b [ i ] ) \sum_{i=0}^2\max(a[i],b[i]) ∑i=02max(a[i],b[i])
然后可以把若干个 q [ x ] q[x] q[x]取反,但是必须保证 a [ i ] a[i] a[i]奇偶性不变,也就是翻转偶数个 q [ x ] q[x] q[x]
然后玄学贪心。考虑调整一下,把 ( 1 , 1 , 1 ) , ( 0 , 1 , 1 ) , ( 1 , 0 , 1 ) , ( 1 , 1 , 0 ) (1,1,1),(0,1,1),(1,0,1),(1,1,0) (1,1,1),(0,1,1),(1,0,1),(1,1,0)全部翻掉。
然后随便翻一个满足奇偶性。然后只会翻 ( 0 , 0 , 1 ) , ( 0 , 1 , 0 ) , ( 1 , 0 , 0 ) (0,0,1),(0,1,0),(1,0,0) (0,0,1),(0,1,0),(1,0,0)种类之一。
结论题,乱搞题
Subset Sum Game
- Alice \text{Alice} Alice必胜当且仅当能将 n n n个数分成 n 2 \frac{n}{2} 2n组,并选择其中一组中的一个数,使得这个数加上剩余 n 2 − 1 \frac{n}{2}-1 2n−1组数中的最小值 ≥ L \ge L ≥L,最大值 ≤ R \le R ≤R
- 否则 Bob \text{Bob} Bob总能使得当前局面下 Alice \text{Alice} Alice不存在必胜策略,直到所有数都被取完
- 不妨看成是 Alice \text{Alice} Alice强行保留了一个数,并强行扔掉了一个数
- 枚举这两个数即可做到复杂度 O ( n 2 ) O(n^2) O(n2)
- 毋宁为猜结论的好题。
Neither AB nor BA
- 巧妙的计数题
- 考虑黑白染色,那么每次删除的位置都会跨过黑和白
- 然后考虑做一个翻转,把奇数位的 B → A B\to A B→A, A → B A\to B A→B
- 那么原问题转化为长度为 n n n的序列,不能删除 A A AA AA或 B B BB BB,最终能够全部删完的序列数量
- 单独考虑 A A A,因为每次至多删除 1 1 1个,所以 A A A的数目不能超过 n 2 \frac{n}{2} 2n,同理 B B B的数目也不能超过 n 2 \frac{n}{2} 2n
- 问题转化为求 A , B A,B A,B数量 ≤ n 2 \le \frac{n}{2} ≤2n的序列的个数
- 根据众数那套理论可以转化为求出现次数 > n 2 >\frac{n}{2} >2n的序列个数
- 答案是 3 n − 2 ∑ i = n 2 + 1 n ( n i ) 2 n − i 3^n-2\sum_{i=\frac{n}{2}+1}^n\binom{n}{i}2^{n-i} 3n−2∑i=2n+1n(in)2n−i
Develop
边栏推荐
猜你喜欢
随机推荐
SQL存储过程详解
Mac安装PHP开发环境
ERROR 2003 (HY000) Can‘t connect to MySQL server on ‘localhost3306‘ (10061)解决办法
app逆向1某联
2DCNN, 1DCNN, BP, SVM fault diagnosis and result visualization of matlab
ubuntu18.04安装redis教程
curl (7) Failed connect to localhost8080; Connection refused
Activiti 工作流引擎 详解
matlab让我的旧手机起死回生
舍不得花钱买1stOpt,不妨试试这款免费的拟合优化神器【openLU】
HbuilderX 启动微信小程序 无法打开项目
Gramm Angle field GAF time-series data into the image and applied to the fault diagnosis
Nacos 原理
代码小变化带来的大不同
53个全球免费学术资源数据库整理,查资料写论文必备【开学必备】
搭建redis哨兵
MySQL(4)
Verilog“七宗罪”
专题讲座7 计算几何 学习心得
MySQL基础(DDL、DML、DQL)









