摘要:
CF1380F链接 常见套路(?) 首先,假设是静态。 约定“第 \(i\) 位”是从高到低的。如 $95731$ 的第 $2$ 位是 $5$。 推一推方程: \(dp_i = dp_{i-1} \times v_1 + dp_{i-2} \times v_2\) 具体地说,设 \(t_i\) 是第 阅读全文
摘要:
CF1380E链接 注意,本文复杂度分析时,为了方便,假设 \(n\) 与 \(m\) 同阶。 首先写几个数据手玩一下,发现答案貌似和每个塔中“编号相邻的圆盘”的对数有关。(若 \(i\) 和 \(i+1\) 在同一个塔中,则它们为一对“编号相邻的圆盘”,简称“相邻对”) 具体来说,设所有塔中“相邻 阅读全文
摘要:
ABC171F链接 可以发现一个字符串 \(T\) 能被 \(S\) 形成,当且仅当 \(len_T = len_S + k\) 且 \(S\) 是 \(T\) 的子序列。 考虑暴力 \(dp\) :\(dp_{i,j}\) 表示考虑到第 \(i\) 位,已经有 \(j\) 位匹配了 \(S\) 的 阅读全文
摘要:
"CF1354D链接" 神奇的二分答案! 首先我们可以考虑输出集合中最大的数。 然后二分一个 $mid$ 表示是否有一个数大于等于 $mid$。 然后你惊奇地发现,可以 $O(n+q)$ 维护小于 $mid$ 的数的数量 $num$。 总时间复杂度仅为 $O((n+q)logn)$。 (好像没什么人 阅读全文
摘要:
"CF1083E链接" ~~基础~~斜率优化 首先按 $x$ 从小到大把矩形排个序。由于它们不内含,$y$ 一定是不增的。 设 $dp_i$ 为选到第 $i$ 个矩形且第 $i$ 个必须选时最大的权值。 $$dp_i = max(dp_j + y_i \times (x_i x_j)) c_i$$ 阅读全文
摘要:
看到读的人多了还是说一下吧,这个可能不是正解。。。 "ABC160F 链接" 很遗憾,这篇题解并不会有特别详细的分析~~(因为懒)~~ 如果没有对每个节点求答案就和TDPC的“木”那题差不多。 由于需要算每个节点,考虑换根$dp$。 令 $f_i$ 为 $i$ 这个子树里放的方案数,$g_i$为这个 阅读全文
摘要:
AGC043 $A,B$ 题解 阅读全文
摘要:
上课上到一半被拉出来打这场。结果被教育了。 "题目链接" 做题顺序: A(AC) B(WA) E(未交) C(AC) E(WA) D(AC) B(AC) E(WA) A:上来直接把下标写成$n$和$n+1$,结果 $WA$ 两次,直接心态爆炸 代码就不放了。 B: 题意:$n \times m$ 的 阅读全文
摘要:
CF1305E题目链接 3月6日改的例子是错的,已经修正,在此道歉。 \(dp\) 题写多了,写道构造题 首先不要被 \(10^9\) 吓到。可以猜出 \(1,2,3,...,n\) 这样的序列能使对数最大。 (7.30 补充:若选择的一组下标为 \(a,b,c\) ,则位置 \(i\) 的贡献是 阅读全文
摘要:
这道题(不看范围)一看就可以dp。 $dp[i][j]$表示考虑到第i位,左括号的数量减右括号的数量 的值为j。 可以推出:$dp[i][j]=max(dp[i-1][j-1]+a[i],dp[i-1][j+1]+b[i])$。 观察发现,有些dp值是没有用的,不需要转移,可以用一个vector存下 阅读全文