随笔分类 - Solution
题解
摘要:由于某种莫名其妙的原因一定要把这道题调完。。。 设幸运数字的个数为 \(s\) 。 这个题目一共就没几个切入点,所以要么在每个幸运数字上做手脚,要么就枚举端点然后优化。 然后你套路地枚举最左边的端点,记为 \(l\) ,算出这样每个合法的区间总数是多少。 然后不知道怎么做,枚举左边区间的第二个端点
阅读全文
摘要:毒瘤了一个下午。 首先这个题是裂开的,就算一个 \(p_1\) 和 \(p_2\) 的系数就好了。 先转化一下题意,设区间 \((i, j)\) 中的最大值为 \(M_{i, j}\) 。 那么 \(p_1\) 的系数就是满足 \(M_{i, j} \le \min\{k_i, k_j\}\) 的
阅读全文
摘要:一个非常显然的事实是,对于一个区间 \(K = 0\) 的值就是没有匹配的括号数。 首先考虑 \(K = 1\) 怎么做。 考虑每个括号的贡献,按照处理括号的套路,拿个栈从左到右未匹配的 ( ,那么每个 ) 的合法区间的左端点必定位于这个括号的位置及这个位置的左边和栈中上个未匹配的 ( 的右边,右端
阅读全文
摘要:D1T1 - Bus 首先从后往前考虑,发现每次询问的答案只和最后乘坐的车子有关,那么答案就是到达时间 \(\le L_i\) 且终点站为 \(n\) 的车中,需要最晚出发的车。 所以设 \(f_i\) 表示需要乘坐第 \(i\) 个车的最晚出发时间,设 \(d_i\) 表示到达第 \(i\) 个点
阅读全文
摘要:$$
c ^ {c ^ {... ^ {c ^ {a_i}}}} \pmod p
$$
阅读全文
摘要:A - Leading 1s 史上最阴间的 ARC A 题,全场过的人 900 个不到。。。 设 \(f_i\) 表示有 \(i\) 个前导 \(1\) 的数字的个数,发现直接求不好算,先算至少有 \(i\) 个前导 \(1\) 的数字个数,然后再容斥一下减去所有 \(f_j \ (j > i)\)
阅读全文
摘要:C - Knot Puzzle 逆向思维,从后往前考虑,发现最终的局面必定是两个加起来大于 \(L\) 的相邻元素,只要寻找并判断这个位置是否存在即可。 int n, a[N], L; inline void solve() { Rdn(n, L); forn(i,1,n) Rdn(a[i]); i
阅读全文
摘要:$n\le 10 ^ 7$ 线性 DP
阅读全文
摘要:T1 - United Cows of Farmer John 先维护一下每个元素前面和后面第一个相同的位置,分别记作 \(pre_i\) 和 \(nxt_i\) 。 那么,一个区间 \([l, r]\) 满足题意的充要条件就是 \(nxt_l > r \And pre_r < l\) 。 考虑枚举
阅读全文
摘要:statement 给你一个 \(n\) 个点的树,可以通过以下方式生成一个长度为 \(n\) 的序列 \(a\): 每次在树中选取一个未被标记的节点 \(u\),令 \(a_u\) 等于与节点 \(u\) 相邻的未被标记的节点个数,然后将节点 \(u\) 标记。 对于每一个整数 \(k\in[1,
阅读全文
摘要:statement 给定一个 \(n \times n\) 的表格,表格中的每个元素有 \(p_{i,j}\) 的概率为 \(1\),否则为 \(0\)。 求至少有一行或一列或一条对角线全为 \(1\) 的概率。对角线指主对角线或副对角线。 \(n \le 21\) solution 1 首先显然是
阅读全文
摘要:DP Trick
阅读全文
摘要:statement 给你一个 \(n\) 个点 \(m\) 条边的无向图,边有权值,要求你删去最多两条边,使得 \(s\) 与 \(t\) 不连通,且删去的边权值和最小。 Hints \(2\le n\le 1000\) ,\(0\le m \le 30000\) solution 首先考虑删除一条
阅读全文
摘要:题面 发现这个重开操作十分鬼畜,活生生将每一个状态和初始状态连了一条边。 由于每次重开肯定是使得本次通过关卡的时间增多,所以最优的情况一定是这次一定必然比期望时间多时才重开,也就是说,最优的情况一定是重开时候的期望和最终的期望相同。 发现重开时候期望时间越大必然导致了最后通关时间变长,所以可以用二分
阅读全文

浙公网安备 33010602011771号