Processing math: 2%
摘要: A 暴力枚举每个字母对应的括号即可。O(23n) Code B 发现行列之间的影响只会在于四个角上,所以暴力枚举四个角是否填,然后确定上下界判断即可。O(2^4)。 Code C 显然 a_i,b_i > 0a_i,b_i < 0 可以分开做:我们只考虑 \ 阅读全文
posted @ 2021-03-03 10:41 RainAir 阅读(258) 评论(0) 推荐(0)
摘要: 上来因为 C 题(细节没写好我甚至写了个对拍)和 E (也是细节没写好)的问题卡了很长时间,导致差点没做出 F 和没做出 G ,并且最后 E 题还 fst 了。要不然怎么说也上红了 A 维护当前有几个 0,几个 1 即可。 B 由于有一个 \( 阅读全文
posted @ 2021-03-02 18:32 RainAir 阅读(120) 评论(0) 推荐(0)
摘要: 题意 给出一个长度为 n 的排列 P。 一个长度为 n 的 01 串 S 被成为好的,当且仅当: 按照以下方式构造序列 X,Y 首先我们让 X,Y 为空的序列 对于每一个 i=1,2,\ldots,N,按照顺序,如果 S_i=0,在 \ 阅读全文
posted @ 2021-02-27 17:51 RainAir 阅读(71) 评论(0) 推荐(0)
摘要: 感觉只会抄题解。。 AGC020E 首先自己可以想到如果只是要单纯的求一个串的方案数可以区间 dp:观察这个表达式,可以写成 f := g | g + f g := '0' | '1' | '(' + f + '*' + 'x' + ')' 其中 x 是一个数字,要求 x>1,并且 \(f\ 阅读全文
posted @ 2021-01-21 00:09 RainAir 阅读(152) 评论(2) 推荐(0)
摘要: A g(x) 实际是求原数和去除后缀 0 后的数的比值,发现第一个不同的值一定会在 10^x 达到,所以答案就是字符串长度。 B 我们先假设走了 m 步,并且都是走第一种,那么相当于就是走了 \frac{m(m+1)}{2},发现将第 i 个位置改成第 阅读全文
posted @ 2020-12-08 20:53 RainAir 阅读(177) 评论(0) 推荐(0)
摘要: A 把 b 都提到最前面就好了。 #include <bits/stdc++.h> #define fi first #define se second #define db double #define U unsigned #define P std::pair<int,int> #de 阅读全文
posted @ 2020-12-07 21:29 RainAir 阅读(152) 评论(0) 推荐(0)
摘要: A. 树的染色 如果确定了某个点的颜色,我们肯定是要求这个点子树内和这个点不同的点的权值和尽量小。 我们设 f_v 表示钦定 v 是白色,子树内是黑色的点的权值和的最小值。 合并子树的时候钦定当前的根是白色,如果儿子 x 和根同色子树和贡献 a_x,答案贡献 \(f_ 阅读全文
posted @ 2020-12-06 21:53 RainAir 阅读(112) 评论(0) 推荐(0)
摘要: E 题意 有一个随机数生成器,生成 [0,n-1] 之内的数,生成第 i 个数的概率为 \frac{A_i}{S},其中 S=\sum_{i=1}^n A_i。 当 \forall i \in [0,n-1] i 被生成至少 B_i 次时停止生 阅读全文
posted @ 2020-11-20 15:38 RainAir 阅读(60) 评论(0) 推荐(0)
摘要: 题意 给出一个 n 个点的数,边有边权,支持翻转一条边的边权,以及求最长的满足路径上边权异或和是 0 的路径。 题解 相当于子树翻转,求相同颜色的直径。 赛时被卡常做法:直接动态维护直径端点,合并的时候暴力枚举合并。 一个比较优秀的做法:转括号序后两个点的距离就是括号匹配后失配的括号 阅读全文
posted @ 2020-11-20 14:53 RainAir 阅读(84) 评论(0) 推荐(0)
摘要: 题意 要求构造大小为 n 的排列,要求至少 \lceil \frac{m}{2} \rceil 条限制:第 i 条限制 (a_i,b_i,c_i) 形如排列中 b_i 的位置要在 a_ic_i 之间。 题解 神仙题。 这个题一般确定排列的 阅读全文
posted @ 2020-11-20 14:41 RainAir 阅读(79) 评论(0) 推荐(0)
点击右上角即可分享
微信分享提示