![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
题解
文章平均质量分 88
aWty_
在 AFO 的边缘徘徊的 OIer
展开
-
CSP2022
是同一个点,这样就与题目意思不符了,所以我们还需要高出次大的点,记为。这俩玩意儿是不是长得一模一样,所以我们考虑对于每一个点。但是这样做会有一个问题,可能发现我们求到的。但是这样还是有一个问题,我们发现你有可能。这样就又不行了,所以我们需要再弄出第三大值。,这样就一定是正确的了,具体的操作可以看代码。然后如果考虑暴力,那么就可以直接枚举。),就可以暴力统计答案了,但是这样复杂度。,所以我们可以直接对于每一个点。取到最大值,这里记录这样的。这两个点,因为我们发现。,然后直接然后直接用。原创 2022-11-06 11:12:36 · 681 阅读 · 1 评论 -
2022.10.3 模拟赛
还是那个老 tricktricktrick 每个数取 log\loglog 乘法变加法,虽然最后还是要打一个高精。59 pts 直接暴力就是 O(n4)O(n^4)O(n4) ,最后记一下位置然后输出就完了:100 pts O(n4)O(n^4)O(n4) 的复杂度还是太高了,所以我们考虑能不能优化掉一维之类的。 首先我们更换枚举方式,先枚举矩形的上界和下界 a,ba, ba,b,再枚举左界 ccc,注意左界是从 mmm 到 111 反着枚举的。考虑能不能 O(1)O(1)O(1) 找到原创 2022-10-06 21:06:58 · 384 阅读 · 0 评论 -
2022.10.2好题选讲(构造专题)
于是若最大的数不在偶数位上,将其左/右移一位。所以如果这个序列长度是偶数并且最后能弄成全都是一样的的话那么这个序列的异或和必定是。也能保证偶数位的数是大于两边的数的,因为每个偶数位放的都是当前区间最大的数。个数我们就可以按照奇数的方法构造,至于最后一个数,因为满足异或和为。所以最后一个数必定和前面弄出来的所有数相等,那就可以不用管它了。仍然可以分奇偶讨论,如果数列长度是奇数的时候,就可以。的数列使得奇数项的异或和等于偶数项的异或和。显然这是不可能的,所以就这样构造就好了。之后对整个数组的异或和的贡献就是。原创 2022-10-02 20:00:33 · 590 阅读 · 0 评论 -
2022.10.1模拟赛
FSYo Orz orz orz orz %%%%% 国庆节限定模拟赛 二维偏序升级版,不等式变形一下,分 444 种情况讨论:100pts O(n)O(n)O(n) 把式子化简一下 (ai−1)(aj−1)原创 2022-10-01 19:57:22 · 497 阅读 · 0 评论 -
关于信息熵的理解
显然,我们每次猜测的词语能给到我们的信息量是不一样的,现在我们需要找到一种方法来定量的求出猜测某一个单词反馈给我们的信息量,当然我们希望这个词的信息量越大越好。一个小游戏,你的目标是要猜中某一个五个字母组成的单词,你有六次机会来猜,每次猜完之后你会得到一些关于你的猜单词与正确单词的一些相关信息。的一个约束条件,目标单词肯定是符合这个约束条件的某一个。这样一来,我们就可以写一个程序暴力的求出所有的。显然,我们可以这样考虑,对于输入的某一个单词。那么回到我们之前的问题上来,我们要求的。原创 2022-09-14 19:09:07 · 479 阅读 · 0 评论 -
恶臭数字论证器 -- 简化版
现在我们要做的就是手写一个跟这个差不多的恶臭数字论证器。原创 2022-09-06 22:43:12 · 11186 阅读 · 3 评论 -
模拟退火补完计划
在上一篇写的模拟退火中我比较详细的写出了模拟退火的物理原理根据和主要的实现流程,但是没有具体的例子,所以在这里我们就用一道比较简单的题来简单的实现以下模拟退火的代码吧。原创 2022-08-29 13:51:04 · 165 阅读 · 1 评论 -
2022.8.17好题选讲
并且势能这个东西还有另一个重要的性质,也就是一个系统的势能是其中所有物品的势能之和。这也就是一个数列的二阶线性递推问题了,这个上过高中的同学也应该都会做吧qwq,所以我们就能很容易的得到在职考虑。势能是什么,只要是上过高中的同学都应该知道(应该上过初中的也知道),并且势能有一个和这道题的魔法值非常接近的性质,也就是。,这样一来,每一个星星就对应了一个矩形,这个矩形表示右上角在其中时会使得窗口能观测到这个星星。,在这个基础上,不妨设圈住星星的矩形的顶点坐标都是整数,于是左下角的坐标就可以看成。原创 2022-08-19 14:43:27 · 156 阅读 · 0 评论 -
2022.8.16 模拟赛
的,所以我们考虑每次只找到一个点然后一这个点为界拆分成两个区间,然后递归处理,这样不会影响正确性但是由于随便找一个点的位置是不均等的,所以时间会可能被卡成。我们发现,在暴力算法中我们在维护的一个东西就很想某一个算法的板子,没错,就是莫队。是单调不增的,也就是说大区间的约束没有小区间的严格,所以我们考虑从大区间加一些限制转到小区间。这样一来,总体的时间复杂度就和启发式合并是相同的了,那么这道题就愉快的切掉了。的小区间都是不合法的,所以我们考虑找出大区间中所有这样的。究极大水题,一眼背包板子,然后就做完了。..原创 2022-08-16 16:15:29 · 170 阅读 · 0 评论 -
2022.8.13 模拟赛
那么我们考虑证明从这个式子能否说明树就是合法的,显然只有这个式子是不能说明是合法的,因为这是一颗完全。显然对于前两种情况,我们往下递归就能变成第三种情况,所以很好处理,然后我们来考虑第三种情况怎么做。对于每一个非叶子节点来说,她的权值就是她的所有儿子权值的平均值,问有多少种不同的根节点的权值。,这个绝对值就很离谱,所以我们考虑将绝对值拆开,分两种情况:第一种就是。算法,这样就把所有点划分成两个部分,一个是已经在树中的点,标记为。这个式子,她显然是一个分式,并且这个分式的每一项的分母都是。.........原创 2022-08-13 23:25:02 · 183 阅读 · 0 评论 -
2022.8.11 模拟赛
对于一个数列,我们发现在一个 “波峰” 中最多贡献三个点,同理,每一个 “波谷” 也最多贡献三个点,所以我们考虑求出一个数列中所有的 “极值点”,这个 “极值点” 的定义就是她必须同时小于或者大于她旁边的两个值的点。我们发现两个相同的数字合并之后会使得中间的数字全部被消去,所以中间的数字就不能和两边的数字共同产生贡献。求出 “极值点” 之后我们考虑一个区间中的最长交错子序列的长度就是区间中 “极值点” 的个数加上。在我们要处理的问题中是没有区别的,所以我们可以吧剩下的。结尾的最长交错子序列的长度,记。...原创 2022-08-12 08:44:17 · 177 阅读 · 0 评论 -
2022.8.9 模拟赛
就过掉了,但是中间要记录每个字母有没有被走过,走过就不走了。维护一个线段树支持单点修改,区间查询,我们发现一个性质,对于一个左端点。所以如果这个小数是有限的的,那么就存在一个。值是非严格单调递增的,所以我们可以考虑二分得到一个点。没啥关系,所以我们先给她们约分一下然后只关注。都要线段树区间查,所以复杂度是。,直到这俩玩意儿互质。直接按照题面模拟,复杂度。小清新签到题,直接暴力。根据一些常识,我们知道。是矩形的情况,据机房大佬。来说,她向右扩展之后的。,这个点是第一个大于等于。的右端点,那么这个点。.....原创 2022-08-10 08:19:48 · 124 阅读 · 0 评论 -
2022.8.8好题选讲(数论场)
简单来说无限维的空间就可以理解成一个希尔伯特空间。操作就变成了对于很多的无限维向量,在每一个维度上取一个最大值,得到的新的数就是这些。然后我们发现好像式子已经化到最简了,但是我们算一下复杂度就会发现我们愉快的。了,就是尝试确定每一个质数的指数,同时记录一个约数个数就好了。这个东西是写在指数上的,所以根据扩展欧拉定理,运算的时候是对。对他质因数分解,然后希尔伯特空间中的维度就代表质因子的次数。,那么我们就得到了一个因数个数与原数相同的且值比原数小的数。就能被看成希尔伯特空间中的一个向量。...........原创 2022-08-09 18:01:10 · 194 阅读 · 0 评论 -
2022.8.6 模拟赛
从小到大枚举每一个位置,再枚举从小到大每一个字母,看这个字母后面有没有,如果有判断它移到这个位置的步数(用树状数组区间加实现),如果可以那么。颗子树中的海拔下降的路径的条数,那么这个点的贡献就是(子树个数为。,那么我们考虑在这条最短路的某两个点上反复横跳来延长路径长度。表示是否存在路径长度为奇数的最短路的长度。这样一来,我们发现延长的路径长度一定是偶数,所以如果。做菊花图,我们发现对于菊花图来说,所有方案的。时表示是否存在路径长度为偶数的最短路的长度,的路径(不一定是简单路径)。,所以我们考虑怎么求的。..原创 2022-08-07 20:01:54 · 150 阅读 · 0 评论 -
2022.8.4 模拟赛
所以我们发现,能相互到达的区间们可以在数轴上形成一个更大的区间,这就可以用并查集维护然后每次查询查是否连通就好了。比较简单的一个题,直接暴力建树,然后考虑分治,因为我们发现一颗子树的问题就和整棵树的问题是不同规模的相同种类的问题,所以我们可以考虑分治。这样我们就发现,能相互到达的区间其实都在我们平时写的线段树单点修改需要经过的节点上,所以我们就区间修改优化并查集维护就做完了。我们考虑线段树合并,首先用线段树维护一个连通块里的答案。的点,这个点上面的答案就是我们要的答案。中的各个字母,可能存在的最后一段。..原创 2022-08-05 10:41:18 · 136 阅读 · 0 评论 -
2022.7.29好题选讲(计数专题)
热身题qwq 传送门:树上最远点对 tagtagtag:树上最远点对的结论??? 对于一个点集,其中的最远点对是 (x1,y1)(x_1, y_1)(x1,y1),另一个点集,最远点对是 (x2,x2)(x_2, x_2)(x2,x2),那么这两个点集合并后最远点对必定在 (x1,y1)(x_1, y_1)(x1,y1) ,(x1,y2)(x_1, y_2)(x1,y2),(x2,y1)(x_2, y_1)(x2,y1),(x2,y2)(x_2, y_2)(x2,y2),(原创 2022-08-03 15:24:32 · 128 阅读 · 0 评论 -
2022.8.2 模拟赛
这样就不是单增的了,所以二分答案的正确性无法保证。因为石子个数有限,并且产生的所有情况下石子数量和都是固定的数字。的证明是势能分析,然后我也没看懂,所以就不证了吧qwq。(背包)的装法,所以会首先把大的放进去,导致下一次有小的放不进去,会浪费空间。现在的问题就在于循环节,如果循环节不是很长的话就可以直接打表了。足够大,我们就必定会回到以前出现过的情况,也就会产生循环。,在我们会发现,先手必胜的条件首先一个先显然的就是。的时候,所以我们稍微手算几个自己造的样例就会发现。的拆分数是有限的,所以情况数是有限的。.原创 2022-08-03 10:20:35 · 107 阅读 · 0 评论 -
CSP-S2019 Day2
给定一个 n×mn \times mn×m 的矩阵,矩阵上坐标为 (i,j)(i, j)(i,j) 的位置有 $$a_{i, j} 个数,矩阵中每一行最多选 111 个数,每一列选的数不能超过总选取数 kkk 的一半,且在矩阵中至少选一个数,问选取的方案数。 我们看看这三个约束条件,首先,至少选一个数和每行最多选一个的条件是很好满足的。难点就在于每列不能超过一半这个条件。 所以我们考虑简单容斥一下,我们求出全集再减去超过一半的数量,这样就得到了不超过一半的数量。 为什么要这样做呢,因为我们简单的分原创 2022-08-01 10:42:53 · 174 阅读 · 0 评论 -
2022.7.27好题选讲
啊,这样一来,我们就考虑怎样能优化这个做法吧。还是有很多无用功,再想想,维护一个数列,需要两个操作,第一个是把其中某一个数改成。再想想,一边算一边取模怎样呢,哇塞,有除法要算逆元欸。仔细一想,哇塞,这数据范围,要开高精了吧。这里就不举例子了,我们可以发现,在这些点中,对答案产生贡献的就是。这样一来,我们就把问题转化成了一个最大子序列的问题,对于奇数位和偶数位分别跑一遍,然后再取。最终存活下来,在前若干步中需要保护的鸡的集合,我们注意到,保护除了。,就删掉前面操作序列中的那个数,然后从头开始再做一遍前缀积。.原创 2022-07-30 12:09:48 · 187 阅读 · 0 评论 -
CSP-S2019 Day1
CSP2019Day1格雷码 括号书 树上的数原创 2022-07-28 21:29:24 · 220 阅读 · 0 评论 -
2022.7.26 模拟赛
test原创 2022-07-27 18:58:29 · 208 阅读 · 0 评论 -
整体二分?
整体二分原创 2022-07-25 19:43:22 · 184 阅读 · 0 评论 -
[Vani有约会]雨天的尾巴
树上差分+线段树合并原创 2022-07-25 15:50:10 · 164 阅读 · 0 评论 -
NOIP2021 T2 数列
NOIP2021 T2原创 2022-07-23 19:50:53 · 382 阅读 · 0 评论 -
2022.7.22 模拟赛
test原创 2022-07-23 14:06:17 · 218 阅读 · 0 评论 -
CSP2021 T3 回文
csp2021T3回文原创 2022-07-21 22:21:18 · 382 阅读 · 0 评论 -
CSP2021 T1 廊桥分配
廊桥分配原创 2022-07-21 19:05:02 · 518 阅读 · 0 评论 -
天天爱跑步【NOIP2016 T4】
天天爱跑步原创 2022-07-21 11:29:11 · 251 阅读 · 0 评论 -
2022.7.19 模拟赛
test原创 2022-07-20 15:32:16 · 210 阅读 · 0 评论 -
2022.7.2 模拟赛
模拟赛原创 2022-07-02 18:48:52 · 172 阅读 · 0 评论 -
[NOIP2015 提高组] 运输计划
运输计划题目大意 给定一棵树和 mmm 条路径,现在可以让你把某一条边的权值改为 000,使得这些路径长度的最大值最小。算法分析20 pts 20pts20pts20pts 非常简单啊,就是那几个 m=1m = 1m=1 的点,直接 lcalcalca 处理出这条路径的长度,然后删去最大边就好了。100 pts 考虑二分答案,现在的问题就是如何实现 check(x)check(x)check(x)。 考虑找到一条边,使得路径长度大于 xxx 的所有路径都有这条边,并且减去这条边的边权原创 2022-05-28 16:22:46 · 226 阅读 · 0 评论 -
[十二省联考 2019] 异或粽子
题目大意 给一个长度为 nnn 的数组 {an}\{ a_n \}{an} 并给定一个整数 kkk, 求由 kkk 个不同的子区间的异或和之和的最大值。算法分析 先做一个前缀的异或和:si=⨁i=1nsi s_i = \bigoplus_{i = 1}^n s_i si=i=1⨁nsi 类似于前缀和我们就有:⨁i=lrai=sr−sl−1 \bigoplus_{i = l}^ra_i = s_r - s_{l - 1} i=l⨁rai=sr−sl−1 那么问题就转化成了原创 2022-05-19 23:12:35 · 157 阅读 · 0 评论 -
2022.5.14模拟赛
T1 query 签到题,求区间等于 xxx 的数的个数。考虑树状数组,对于一个区间 [L,R][L, R][L,R] 考虑算出小于等于 L−1L - 1L−1 中等于 xxx 的数的个数记为 aaa,和小于等于 RRR 中的等于 xxx 的数的个数记为 bbb 然后答案就是 ans=b−aans = b - aans=b−a。然后我们又发现等于 xxx 的数的个数等于小于等于 xxx 的数的个数减去小于等于 x−1x - 1x−1 的数的个数。然后就跑两遍一维数点就过了。#include<bi原创 2022-05-14 23:30:34 · 206 阅读 · 0 评论 -
2022.5.1模拟赛
T1 graph 找到简单环上所有边的编号的异或和。 比较小清新的一道图论题,我们发现一个点双中要么点数不超过 222,要么途中热议两店同时包含在至少一个简单环中。所以我们可以用 tarjantarjantarjan O(n)O(n)O(n) 找点双连通分量,然后数边。如果边数等于点数那就说明是一个简单环就直接输出异或和就可以了。 考场上打炸了,只有 50pts50pts50pts。T2 string 听说是 ACACAC 自动机的板子,但是我不会 ACACAC 自动机,所以先放一放qwq原创 2022-05-01 16:49:51 · 289 阅读 · 0 评论 -
NOIP Practice Recordings DP
我的 NOIP DP 刷题记录原创 2022-04-11 23:40:49 · 106 阅读 · 0 评论 -
NOIP Practice Recordings O
我的 NOIP 其他 刷题记录原创 2022-04-11 23:39:33 · 143 阅读 · 0 评论 -
NOIP Practice Recordings S
我的 NOIP 搜索 刷题记录原创 2022-04-11 23:38:11 · 2612 阅读 · 0 评论 -
NOIP Practice Recordings C
我的 NOIP 构造 刷题记录原创 2022-04-11 23:37:16 · 138 阅读 · 0 评论 -
NOIP Practice Recodings Math
我的 NOIP 数学 刷题记录原创 2022-04-11 23:36:16 · 237 阅读 · 0 评论 -
NOIP Practice recordings GT
我的 NOIP 图论 刷题记录原创 2022-04-11 23:35:10 · 173 阅读 · 0 评论