随笔分类 - 题解
一些题自己的看法
摘要:大抵是NOIP前写的最后一篇题解了吧。。。 flandre 80pts 赛时打的错解A了,然后证伪以后写了个更错的错解80pts; 考虑我们最终要求的答案是 $ a $ 数组从小到大排序后的一个后缀; 考虑怎样证明这个结论,感性理解一下就是尽量选大的然后挺对; 考虑比较严谨的证明; 如果序列中没有重
阅读全文
摘要:这场一共就打了26pts,这要是NOIP不得完事 随机游走 10pts 首先给出结论:对儿子序列排序,$ cmp $ 函数为 $ sum_b \times w_a < sum_a \times w_b $,其中 $ sum_x $ 代表 $ x $ 的子树内的点权和,$ w_x $ 代表 $ x $
阅读全文
摘要:Happy Card 70pts 大样例乱搞都能过。。。 可以将“炸”看成“三带一”,那么我们最优是先出“三带一”; 首先分别算出原序列中每个数包含 $ 3 $ 的个数 $ cnt $ ,以及模 $ 3 $ 余 $ 1, 2 $ 的个数 $ s1, s2 $ ,然后进行判断, 如果 $ cnt \g
阅读全文
摘要:镜的绮想 (mirror) 100pts 考虑 $ \Theta(nm) $ 的做法,发现我们可以对于每一对实点和虚点求它们的“镜面”,然后得到 $ \Theta(nm) $ 个“镜面”,发现这些直线只可能是形如 $ y = 0.5x, x \in Z $ 的直线,所以我们直接乘 $ 2 $,然后开
阅读全文
摘要:图 (a) 100pts 看到提示中有数一个数的二进制下 $ 1 $ 的个数,所以考虑怎么转化这个题,考虑开 $ n $ 个 bitset,第 $ i $ 个 bitset 中如果第 $ j $ 位是 $ 1 $,代表存在边 $ (i, j) $,否则不存在,对于每次修改,直接将 $ S, T $
阅读全文
摘要:暴力操作(opt)30pts 这个错解可反悔贪心30pts; 考虑正解,我们只需考虑前 $ \frac n2 + 1 $ 小的数即可; 考虑二分出一个中位数 $ mid $,那么我们要让大于它的都用最小的代价变小; 考虑如何求这个最小的代价,因为 $ \lfloor \frac{\lfloor \f
阅读全文
摘要:选取字符串 60pts 直接暴力60pts; 这题难点在于读懂题把。。。 考虑建出 $ KMP $ 树,然后在其中选出 $ k $ 个数,他们的 $ LCA $ 的深度的平方和就是这个答案,然后简单统计一下即可; 具体地,把 $ KMP $ 树建出来,然后求每 $ k $ 个点的 $ LCA $ 的
阅读全文
摘要:字符串构造机 100pts 原题,见[赛记] 多校A层冲刺NOIP2024模拟赛01【衡中】 T1; 忍者小队 60pts 赛时最后想出来个 $ \Theta(n^2 \log n) $ 的 DP,所以60pts; 对于这个DP,直接用 map 维护一下所有lcm的状态转移即可; 点击查看代码 #i
阅读全文
摘要:送信卒 100pts 直接上小数二分答案,然后check的时候跑dij,就没了; 点击查看代码 #include <iostream> #include <cstdio> #include <queue> #include <iomanip> using namespace std; int n,
阅读全文
摘要:星际联邦 80pts 前连20条,后连20条80pts。。。 考虑正解,发现向前连最大,向后连最小会出现重边,所以避免出现这种情况,我们只需要在做完向前连最大以后,在向后连最小的时候连不是同一个连通块的即可; 时间复杂度:$ \Theta(n \log n) $ ,瓶颈在排序; 其实这个思想就是最小
阅读全文
浙公网安备 33010602011771号