摘要:
或曰,有学长两天授吾以十专题,吾顿感日月之紧迫,以专题竟不能以吾之所有,遂成此文,以记之。 阅读全文
摘要:
写在前面 ,是每个信息学竞赛选手所必会的算法,而 中状态的转移又显得尤为关键。本文主要从状态的设计和转移入手,利用各种方法对朴素 的时间复杂度和空间复杂度进行优化与处理,以达到满足题目要求的目的; 参考文献: 《算法竞赛进阶指南》 动态规划算法的优化技巧 毛子 阅读全文
摘要:
OI就是这样,竭尽全力以后就是一种解脱吧 阅读全文
摘要:
大抵是NOIP前写的最后一篇题解了吧。。。 flandre 80pts 赛时打的错解A了,然后证伪以后写了个更错的错解80pts; 考虑我们最终要求的答案是 数组从小到大排序后的一个后缀; 考虑怎样证明这个结论,感性理解一下就是尽量选大的然后挺对; 考虑比较严谨的证明; 如果序列中没有重 阅读全文
摘要:
Happy Card 70pts 大样例乱搞都能过。。。 可以将“炸”看成“三带一”,那么我们最优是先出“三带一”; 首先分别算出原序列中每个数包含 的个数 ,以及模 余 的个数 ,然后进行判断, 如果 $ cnt \g 阅读全文
摘要:
镜的绮想 (mirror) 100pts 考虑 的做法,发现我们可以对于每一对实点和虚点求它们的“镜面”,然后得到 个“镜面”,发现这些直线只可能是形如 的直线,所以我们直接乘 ,然后开 阅读全文
摘要:
图 (a) 100pts 看到提示中有数一个数的二进制下 的个数,所以考虑怎么转化这个题,考虑开 个 bitset,第 个 bitset 中如果第 位是 ,代表存在边 ,否则不存在,对于每次修改,直接将 阅读全文
摘要:
暴力操作(opt)30pts 这个错解可反悔贪心30pts; 考虑正解,我们只需考虑前 小的数即可; 考虑二分出一个中位数 ,那么我们要让大于它的都用最小的代价变小; 考虑如何求这个最小的代价,因为 $ \lfloor \frac{\lfloor \f 阅读全文
摘要:
选取字符串 60pts 直接暴力60pts; 这题难点在于读懂题把。。。 考虑建出 树,然后在其中选出 个数,他们的 的深度的平方和就是这个答案,然后简单统计一下即可; 具体地,把 树建出来,然后求每 个点的 的 阅读全文
摘要:
字符串构造机 100pts 原题,见[赛记] 多校A层冲刺NOIP2024模拟赛01【衡中】 T1; 忍者小队 60pts 赛时最后想出来个 的 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。。。 考虑正解,发现向前连最大,向后连最小会出现重边,所以避免出现这种情况,我们只需要在做完向前连最大以后,在向后连最小的时候连不是同一个连通块的即可; 时间复杂度: ,瓶颈在排序; 其实这个思想就是最小 阅读全文
摘要:
图书管理 85pts 2s 1e10助我85pts; 考虑正解,仍然是算贡献; 这个题有一个很通用的套路:将大于某数的数看成 ,小于这个数的数看成 ; 那么我们枚举 ,运用上面的套路将 左边的前缀和算出来并开个桶记录一下端点编号之和,然后在枚举 $ i 阅读全文
摘要:
新的阶乘 100pts 当发现直接做不好做时,可以从贡献的角度考虑; 那么对于一个质数,我们只需要算出它的所有贡献,直接暴力算即可; 复杂度和埃氏筛差不多, ; 点击查看代码 #include <iostream> #include <cstdio> 阅读全文
摘要:
书街上文 阅读全文
摘要:
暴力错解大赛 玩游戏 82pts 乱糊的错解,正确性和时间复杂度都不对,但是拿了82pts; 对于正解,考虑从 将原序列分成两个部分,左边和右边,然后分别求一次前缀和(注意这里,可以省去很多分讨和常数),设前一个前缀和数组为 ,后一个为 ,那么问题就转化成有两个指针 阅读全文
摘要:
追逐游戏 (chase) 50pts 比较卡常; 考虑二分答案,发现我们只需要在知道答案的情况下找出终点即可,所以用倍增找出终点,最后判断一下合不合法即可; 时间复杂度: ,常数很大,赛时被卡常了; 当然也可以分讨做到 $ \Theta(n \log n) 阅读全文
摘要:
冒泡排序 100pts 比较显然的签到题 (好久没这么水过了); 考虑这个错的冒泡排序,手模一下即可发现这个 有点像以前做过的同余系中求和的问题,于是这个题同理,用 set 维护每个同余系的排名,最后按顺序输出即可; 对于正确性,相当于每次 ,则就相当于在一个同余系中排序; 阅读全文
摘要:
排列最小生成树 (pmst) 50pts 又是诈骗题,然后又不会。。。 暴力很暴力,直接建个完全图跑 Kruskal 即可; 正解考虑如果我们连接编号相邻的点,那么每个边的边权都小于 真能考虑到吗?; 所以我们最终的最小生成树中的边边权都小于 ; 那么对于 $ |p_i - p 阅读全文