摘要:
一些日程: 重写 Splay 和 LCT 板子。 重学各种计数。 重写 SA-IS 板子。 写完字符串全家桶。 理解各种离线套路。 以下列出了一些想学/需要学的东西,并且大概率会咕掉。 wqs 二分 ODT DLX KDT FMT 旋转卡壳 阅读全文
摘要:
注意:本文仅为作者在算法竞赛中的码风,可能不够易读,您无需也不应学习此种码风。 感觉自己的码风还是比较独特的,特此记录一下。 ——\(2020.4.4\) Update \(2022.11.20\): 微调。 Update \(2022.7.16\): 微调。 Update \(2022.3.31\ 阅读全文
摘要:
考后第一时间根据复刻版写下此篇题解,竝发表一些个人看法。 8 单选压轴 民间答案:B 如预测的一般,单选竝没有压轴。第八题是 Fibonacci 数列,只要你看懂了递推式竝写出每个 \(f(i)\) 的下界即可。选项设置颇显随意:CD 两项小于号,直接排除了。 11 多选压轴 题面 已知曲线 \(C 阅读全文
摘要:
推导 已知椭圆或双曲线(为什么没有抛物线?抛物线联立太简单了)\(\frac{x^2}{M}+\frac{y^2}{N}=1\) 和直线 \(Ax+By+C=0\) 交于 \(P(x_1, y_1),Q(x_2, y_2)\) 两点,则 消 \(x\):\(x=\frac{-C-By}{A}\),代 阅读全文
摘要:
《临 NOIP 寄友》 窗前月影似金钩,十月凉风送晚秋。 寂寞键盘声总作,孤单屏幕亮无休。 四时联赛如骓逝,三载光阴似水流。 劝勉诸君承故志,无言此刻只相酬。 阅读全文
摘要:
第一场 A 是简单题,注意到矩形形成的是一个单调的阶梯,我们只需要排序然后枚举计算即可。需要注意处理一下完全包含的情况,用二维数点即可。(找单调性) B 见到树上路径,想到拆分成点到根的异或和。注意到每个点的异或和确定了,边权就都确定了(钦定 1 的异或和是 0),这样就和树的结构无关了,直接变成了 阅读全文
摘要:
P9836 首先注意到我们不需要考虑所有因数,因为任何操作都可以拆成多次质因数操作:而质因数个数是很少的。 最后我们希望的是所有的因数个数之积,众所周知 \(n=\prod_{i=1}^m p_i^{a_i}\) 的因数个数是 \(\prod_{i=1}^m(a_i+1)\),那么其实就是把所有质因 阅读全文
摘要:
这道题目千岩万转,需要用到多次转化,其中有一些转化较为常见,有一些则需要思考。 首先观察原问题:给定数列 \(a\),对于所有 \(1\sim n\) 的排列 \(p\),构建一张只有 \(j-i\le k\) 的 \((i,j)\) 之间有权值为 \(\max\{a_{p_i}, a_{p_j}\ 阅读全文
摘要:
题简单还考稀烂,别学了。 T1 密码锁 观察数据范围,可以直接枚举密码。 #include<bits/stdc++.h> #define ls (k<<1) #define rs (k<<1|1) #define nmid ((l+r)>>1) #define tmid ((tr[k].l+tr[k 阅读全文
摘要:
T1 秒了,直接写一个线性筛一样的东西即可。 const int N=10000010; int T,x; bool ok[N];int nxt[N]; il void Init(){ for(int i=1;i<N;i++){ if(ok[i])continue; int t=i;bool ff= 阅读全文
摘要:
概述 · 茶馆里请坐 不是很会讲故事,就随便闲话点东西吧,不想看故事的可以直接到最后看看感想,当然感想也没什么营养就对了,权当是对自己几年奥赛生涯的总结。 故事部分几乎围绕笔者中学信息奥赛生涯,其中可能穿插一点其他东西。 下文中人名、校名均隐去,代之以网名或单字母化名。 故事 · 闲言碎语 2018 阅读全文
摘要:
首先拆位,然后考虑限制会带来什么。 要求与起来是 $1$ 的必须全是 $1$,差分打个标记。 要求与起来是 $0$ 的必须至少有一个 $0$,考虑如何计数。 计数问题有可能是动态规划,我们发现需要考虑的只有最后一个 $0$ 的位置,所以设 $f_{i,j}$ 表示填好前 $i$ 个数、最后一个 $0 阅读全文
摘要:
经典题没做出来,是不是该死?是不是该死? 首先缩点什么的都是套路性的,然后发现一个事,你要是缩完点直接做,就相当于有向无环图上标记一些点,求另一些点能到达多少个标记点,这个似乎没什么办法做到平方以下,所以再回去读题,看看有什么没用到的条件。 保证边在交点以外的任何地方不相交。 就是因为我丢掉了这个条 阅读全文
摘要:
洛谷 P4930 考虑 $\varphi$ 有什么性质,设 $x$ 的质因数分解为 $\prod_{i=1}^m p_i^{a_i}$,那么 $n=\varphi(x)=\prod_{i=1}^m(p_i-1)\times\prod_{i=1}^m p_i^{a_i-1}$,显然 $n$ 的因数 $ 阅读全文
摘要:
给定 $n$,求 $\sum\limits_{a+b+c=n}\operatorname{lcm}(c, \gcd(a, b))$。 简单技巧不会,以后记得尝试一下。 注意到 $\gcd(a, b)=\gcd(a, a+b)=\gcd(a, n-c)$,所以考虑枚举 $c$ 变成 $\sum\lim 阅读全文
摘要:
0. 概述 硬推式子呗。 首先应该注意到这个数据范围很奇怪:$10^{11}$ 看起来像是要求根号做法,那么不妨根号分治,而根号分治需要以暴力做法为基础,所以我们先考虑一些暴力做法。 1. 贪心一 首先能想到的一个暴力是枚举贪者个数 $ans$,我们从 $0$ 枚举到 $n$。显然此时每圈都会拿走 阅读全文
摘要:
0. 定理内容 Landau 定理:竞赛图强连通的充要条件是按入度不降排序后除总和外的所有前缀 $i$ 之和不等于 $\dbinom{i}{2}$。 1. 证明 引理:强连通竞赛图的充要条件是对于任何一个真子集 $S$,一定有 $S$ 外的点到 $S$ 有边。 必要性是显然的,接下来我们看一下充分性 阅读全文
摘要:
P4426 [HN/AH18] 为什么会让求一个 NPC 呢?一看数据范围才明白是一棵树加上很少的边。 一个简单的思路是暴力枚举非树边的状态,可以获得至少七十分的好成绩。 但是我们发现很多状态没必要重新 dp 一遍,所以搬上虚树,提前计算出下面状态对上面状态的贡献系数。算贡献系数看起来麻烦,其实就是 阅读全文
摘要:
事实上如果不事先了解,还是挺难独立看出这题的结论的。 容易发现本题的操作就是将左边的一段空格切出来给右边。我们抽象一下就是若干堆石子,每次可以从某一堆拿出若干颗到其右侧邻堆。这种阶梯 nim 有一个好看的结论:直接对从右数的偶数堆玩普通 nim 即可。因为对奇数堆操作后对手一定可以马上将其移到下一个 阅读全文
摘要:
一道有趣的树上 dp 题。 先考虑固定起点怎么做,容易发现以起点为根时每次选点的贡献是儿子的权值和。 那我们想得知全部的怎么办?需要进行麻烦的换根吗? 其实,我们还按照刚刚的 dp 方式,同时记录向上和向下的路径即可,设 \(f_{i,j,0/1}\) 和 \(g_{i,j,0/1}\) 表示从 \ 阅读全文
摘要:
0.多点求值 描述:给定 \(n\) 阶多项式 \(f(x)\),求其 \(m\) 个点值 \(f(a_1),\dots,f(a_m)\)。 乍一看这个东西似乎是不太可做的,我们先考虑如何缩小问题规模也就是多项式阶数。 根据因式定理我们知道一个被 \((x-a)\) 整除的多项式在 \(a\) 处的 阅读全文
摘要:
暑假 wzy 鸽鸽讲的自己出的题现在才抽时间补,大惭愧。 首先如果这个题是无向图那么就秒了,可惜不是。那么区别在哪里?我们发现一条有向边加入后连接的两个点可能会在更晚的一个时间点才强连通,不能直接并查集合并。 不过很容易发现这个东西是具有二分性的,于是我们秒掉了单个询问。 那多个询问怎么办呢?我们不 阅读全文
摘要:
现在要求一个树上点集生成树的边数。 很显然,我们把点按 DFS 序排序后就是相邻两个点的距离加起来除以二了,因为 DFS 的时候每条边恰好走了两遍。 然后你就可以解决 SDOI2015 寻宝游戏了,只需要用 std::set 维护宝藏点,然后查询前驱后继计算距离增量即可。 一个麻烦一点的题:ZJOI 阅读全文
摘要:
毒瘤模拟赛 Day 1 今天大概都是傻逼题,但是由于开题顺序、做题策略、心态爆炸等原因取得了极为不理想的成绩,后应多加注意。 A 场上把自己阴了,实为傻逼题。 想让 \(a=c\),而每次操作会导致 \(a\) 变成 \(2a\) 或 \(2a-x\)(其中 \(x=a+b\)),然后发现 \(k\ 阅读全文
摘要:
Day 1 C 首先一个暴力的想法就是直接按照 SCC 大小的集合 dp,每条边加入之后集合要么无变化,要么被这条边连通了几个 SCC。 对于第一种转移,我们可以直接从可添加边数最多的集合也就是一个大 SCC 和一堆点转移,对于第二种转移,发现它与每个 SCC 的点数没有关系,于是就可以直接去掉记录 阅读全文
摘要:
考场上没仔细看 T3,结果出来发现是傻逼题,亏大了属于是。 T1 估计难度:提高-。 国内和国际分开处理,考虑预处理出分配不同廊桥个数时停靠的飞机数。 然后发现随着廊桥个数增长,飞机数是不降的,而且已经占有廊桥的飞机占有的廊桥一定不会改变,所以我们就删掉已经停下的飞机,每次扫一遍,二分找到下一个能够 阅读全文
摘要:
全称是 Lindström-Gessel-Viennot 引理,用于求解 DAG 不相交路径问题。 设起点集合为 \(A=\{a_i\}\),终点集合为 \(B=\{b_i\}\),一条路径的权值 \(w(P)\) 是路径上所有边权之积。(这个边权是交换环就行,例如生成函数) 设对于一个起点 \(a 阅读全文
摘要:
大概是一种牛逼的筛法,本质思想是 dp。 方便起见先规定本文的一些符号: \(p_i\) 表示第 \(i\) 个质数,\(p\) 表示任意一个质数; \(\text{P}\) 表示全体质数; \(\min_i\) 表示 \(i\) 的最小质因数。 现在我们要求一个积性函数 \(f\) 的前缀和,这个 阅读全文
摘要:
CSP/NOIP 前发现自己智商严重不足,然后就来补了 正因智商不足有些题几乎是搬的题解 绝大多数是有一点思维含量的题,也可能会放一些我认为实现上细节较多或技巧比较常见的题 AtCoder 系列 ARC126E \(n\) 个数,每次可以从一个数里拿出一个实数放到另一个并保证大小关系,获得这个实数的 阅读全文
摘要:
dp 套 dp 是怎么回事呢?dp 相信大家都很熟悉,但是 dp 套 dp 是怎么回事呢,下面就让小编带大家一起了解吧。dp 套 dp,其实就是把内层 dp 的结果作为外层 dp 的状态,大家可能会很惊讶 dp 怎么会套 dp 呢?但事实就是这样,小编也感到非常惊讶。这就是关于 dp 套 dp 的事 阅读全文
摘要:
Day 1 全是水题。 Day 2 C 傻逼题,赛时想偏了。 首先只需要判断继承的类是否有一对满足有公共祖先并且有派生关系的。 发现直接维护祖先集合,然后按照加入顺序依次并起来就可以满足所有查询要求。 D 也是傻逼题,但实现可能有点麻烦。 显然任意的 \(k\) 度子图都是可以一层层剥出来的,我们考 阅读全文
摘要:
斯坦纳树是一棵连接给定点集的树,其中边不一定在这些点里面连。 可以使用 dp,设 \(f_{i,S}\) 表示 钦定 \(i\) 为根,连接了集合 \(S\) 的最小代价,转移分两种情况: \(i\) 度数为 \(1\),可以转移到和它相连的点 \(j\); \(i\) 度数不为 \(1\),可以由 阅读全文