02 2024 档案

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

点击右上角即可分享
微信分享提示