07 2019 档案
摘要:「APIO 2019」奇怪装置 题目描述 有无限个二元组,每个二元组为$((t+\left\lfloor\frac{t}{B} \right\rfloor)\%A,t \% B)$,给出一些区间,问他们之中有多少本质不同的二元组。 题解 ~~考虑朴素做法,区间求并AC~~ 考虑如果每个二元组为$(t
阅读全文
摘要:题解 首先可以发现我们对于每种颜色的鱼,长一点的能够覆盖的方案已定完全包含短一点的方案。 所以我们可以只对每种颜色最长的鱼计算贡献。 然后有一个$naive$的想法,~~我们从按照最长的鱼的长度小到大枚举每种颜色,然后算出那条最长的鱼能够包含的方案。~~ 这样会算重。 那么我们还有一个$naive$
阅读全文
摘要:给定一个长度为n 的字符串s 和m 个单词,每个单词有权值。 定义一个串的价值为所有单词的价值与其出现次数的积之和。现 在有q 组询问,每次询问s 的一个区间的价值。强制在线,要求 poly(log)。 题解 有一个非常强的AC自动机做法,我不会。 考虑大力维护信息,我们在AC自动机上的每个点维护一
阅读全文
摘要:题解 思路和$NOIP$双栈排序差不多。 对于两个元素,若$l_1 define N 2000009 using namespace std; typedef long long ll; const int mod=1e9+7; const int inf=1e9; int pre[N],nxt[N
阅读全文
摘要:题解 对于区间取$\max$,这个比较好办,直接在线段树上打标记就行了。 如果让我们弹出前$n$个数,我们可以用类似超级钢琴的思想,队列中每个元素是一个线段树节点,弹出时记录最值的位置,然后分成两半继续做就行了。 代码 c++ include define N 500009 using namesp
阅读全文
摘要:题解 题目是让我们求出有多少个边集可以使这张图强连通。 先补集转化一下,求这张图不强连通的方案数。 我们考虑这样的图缩完点之后的情况,既然不强连通,那么它就是个$DAG$。 回顾一下有向图$DAG$计数的方法。 每次新加入一层入度为$0$的点,向之前的点连边。但这时我们不能保证我们枚举的点就是全部入
阅读全文
摘要:题解 考虑$p=1$的情况。 我们可以把题意理解成平面上有一些线段,你需要给每条线段分配一个长度给定的预备线段,使得预备线段要在它所属的线段前面,并且所有线段不能相交。 因为我们只需要弄出一组解来,所以我们可以直接设$dp[s]$表示$s$集合内的所有旅行都办好了签证,最后拿到护照的最小时间。 于是
阅读全文