02 2024 档案
摘要:Day -1 没要到假期作业/ll/ll/ll 只写了当天的作业。 感觉要寄。 Day 0 早上现跑到学校里要作业。结果还被保安撵回去写了假条 然后就是漫长的乘车之旅,从 一直到 。 发现车上的人比我卷多了,个个都通宵写作业/kk 电脑在箱子里,不能写代码,有点难
阅读全文
摘要:代码 请自行 Ctrl+F5 查找。 P1074 [NOIP2009 提高组] 靶形数独 考虑优化搜索顺序。 如果直接搜,理论复杂度为 ,显然会 。 增加剪枝,提前判断数独合法性,仍然会寄。 这个时候我们就需要优化搜索顺序了。 回想一下,平时做数独
阅读全文
摘要:考察点:STL 的熟练运用。 记: 表示序列中不超过 的最大数, 表示序列中超过 的最小数。 开一个 vector insert[N] 存储 后面插入的所有数字。 首先,我们使用一个 multiset s1 来存储相邻元素的
阅读全文
摘要:题单: 第一部分 第二部分 题解有时间就写,一般会咕。 P5691 [NOI2001] 方程的解数 简单的折半搜索。 直接搜索时间复杂度是 的(快速幂),无法通过。 考虑优化,首先我们对上面的式子做一个变形: \[\sum_{i=1}^{n}k_i
阅读全文
摘要:题单。 UPD:题单里的题 。 数列分块入门一 看到区间修改 单点查询,考虑差分。 考虑分块维护差分数组。对于修改操作,就对 位置 , 位置 ;对于查询操作,查询 的和即可。 时间复杂度 \(O(m\sq
阅读全文
摘要:E - 2xN Grid 题意 给你一个 的网格,但是 很大,所以用以下形式压缩: 将同一个颜色的连续段视为一个整体,那么每一行就可以用若干个二元组 表示,其中 为颜色, 为连续段的长度。保证长度 \(
阅读全文
摘要:矩阵 https://www.luogu.com.cn/blog/531930/shou-xie-yi-ge-ju-zhen-lei。 P4159 [SCOI2009] 迷路 如果边权是 的话,答案就是邻接矩阵的 次方的第 行第 列。 这个题有边权且很
阅读全文
摘要:A - N-choice question 太简单,直接放代码: #include<bits/stdc++.h> //#pragma GCC optimize("Ofast") #define gt getchar #define pt putchar #define y1 y233 //typed
阅读全文
摘要:网址 赛时得分 ,rk 67,逊死了。 赛后发现 T1 爆搜 + 剪枝有 分,我【】【】。 总结:还是菜。 A. 等差数列 首先特判 的情况。此时答案必然为 Yes,只需要两两分组即可。 由于第一个数必然在其中一个等差数列内,不妨强
阅读全文
摘要:首先我们考虑 固定怎么做。实际上就是 ARC111B。 考虑建图,对每个 建一条无向边,那么问题就变成了:对于每条边都要选择它以及其连接的一个点,最大化选出的点数。 很明显可以对每个连通块分开考虑。 记当前连通块的点数为 ,边数为 。那么有
阅读全文
摘要:题单 P1082 [NOIP2012 提高组] 同余方程 整理一下式子,变为 ,exgcd 解之即可。 最小正整数解就 即可。 时间复杂度 ,可以通过此题。 可以发现这题实质上就是求 的逆
阅读全文
摘要:区间 DP。 设 表示只考虑 ,先手得分减后手得分的最大值(并不关心谁是先手谁是后手),区间长度 。 然后对三种情况分别讨论: 使用操作一,此时取掉左/右端点的部分先手后手互换,对答案的贡献为 \(\max(a_l-f_{l+1,r
阅读全文
摘要:两种做法。 一、最短路 题目要求区间数量最小。如果能建出图来,就可以转换为最短路问题。 具体地,我们从 连一条长度为 的边,意味着要多经过 这一个区间。这是左开右闭的形式。 现在还有一个问题:通过这种边我们只能到达区间的右端点,如果想向左
阅读全文
摘要:考虑分层图。 把图按速度分成 层, 表示点 在第 层(速度为 )的编号。注意:这里的速度为 是指到达 那一条边的速度( 为终点)。 考虑一种 naive 的建边方式: 首先,记当前点为 ,
阅读全文
摘要:对给出的 个区间分块,设块长为 。 每个块内计算每个位置的贡献(被覆盖次数)。具体地,记 表示第 个块第 个数被覆盖了多少次,这个可以用差分轻松维护。预处理复杂度 。 现在考虑修改。记 \(
阅读全文
摘要:相当妙的题。 异或有个很好的性质,就是异或两次会抵消。这样我们只需要考虑出现次数为奇数的方案即可。 我们设 表示 的出现次数。那么这种方案的和 ,出现次数为 \[\prod_{i=1}^{n}\binom{k-\
阅读全文
摘要:前置知识 - Borůvka 算法 该算法用于求解最小生成树。 定义一次 “Borůvka 操作” 如下: 枚举所有不在连通块内的边。若一条边连接两个不同的连通块 ,且这条边是连接 的边中权值最小的,那么就用这条边连接 ,把 合并成一个连通
阅读全文
摘要:分成几个部分处理。 一、预处理每个点的最大尺寸 特殊的,令障碍物的最大尺寸为 。 一个朴素的想法是二分。但这样是 的,太逊。 考虑把障碍全塞进一个队列里跑 bfs,这样可以求出每个点到一个障碍的最短路,显然这就是尺寸的一半(注意判一下不要超出边界)。 注意
阅读全文
摘要:F - Fuel Round Trip 注意到路程分成了两段,所以我们也按两段 dp。 设 表示到第 个加油站,来程加油后油量为 ,回程加油后油量为 的最小代价。 初始对于 ,有 \(f_{0,h,i}=0\
阅读全文
摘要:首先考虑如何求出第 棵树在 时间段能长多高。这个东西可以差分一下然后等差数列求和。放一下代码: inline lll calc(int i,int x){ if(c[i]>=0){ return (lll)b[i]*x+(lll)c[i]*x*(x+1)/2; }el
阅读全文
摘要:首先做一点显然的转化:在进行第一次操作之后,可以将相同的数排在一起,这样一次就能删掉一种数。如果一开始就能删光一种数的话,那么次数就是区间颜色数,否则就是区间颜色数 。 所以现在原问题变成了两个问题:求区间内不同颜色数,判断区间内是否有某种颜色满足其出现位置构成等差数列。 第一问是经典问
阅读全文
摘要:SDOI2024 考前复习
阅读全文