02 2019 档案
摘要:【LG3722】[HNOI2017]影魔 题面 "洛谷" 题解 先使用单调栈求出$i$左边第一个比$i$大的位置$lp_i$,和右边第一个比$i$大的位置$rp_i$。 考虑$i$对答案的贡献,当且仅当$i$作为区间$[x+1,y 1]$的最大值时,$i$才对点对$(x,y)$有贡献。 根据题意,第
阅读全文
摘要:【LG3721】[HNOI2017]单旋 题面 "洛谷" 题解 20pts 直接模拟$spaly$的过程即可。 100pts 可以发现单旋最大、最小值到根,手玩是有显然规律的,发现只需要几次$link,cut$,那么我们维护原树的父子关系以及一颗$LCT$。 对于插入操作,由于插入的值肯定在前驱的右
阅读全文
摘要:【LG3247】[HNOI2016]最小公倍数 题面 "洛谷" 题解 50pts 因为拼凑起来的部分分比较多,所以就放一起了。 以下设询问的$a,b$为$A,B$, 复杂度$O(nm)$的:将所有$a\leq A,b\leq B$的边两端,用并查集并起来,再看一看等于$A,B$的是否有端点在集合中即
阅读全文
摘要:【LG3250】[HNOI2016]网络 题面 "洛谷" 题解 30pts 对于$m\leq 2000$,直接判断一下这个个点是否断掉一个交互,没断掉的里面取$max$即可,复杂度$O(m^2\log n)$。 另20pts 对于无删除操作的,用线段树维护, 我们将一条路径的补集全部打上那条路径重要
阅读全文
摘要:【LG3245】[HNOI2016]大数 题面 "洛谷" 题解 60pts 拿vector记一下对于以每个位置为右端点符合要求子串的左端点, 则每次对于一个询问,扫一遍右端点在vector里面二分即可, ~~虽然空间是平方级别的但是因为数据水还是可以过60的~~ 100pts 记$[i,n]$表示的
阅读全文
摘要:【LG3248】[HNOI2016]树 题面 "洛谷" 题解 因为每次你加入的点是原树上某一棵子树 那么我们一次加入一个点,代表一棵子树加到大树下面 那么我们要找到一个点在一个大点中用主席树在$dfs$序中$kth$即可 询问的话,先将所有的点权(深度)转化为边权 查询时先将两点跳到它所在大点的根
阅读全文
摘要:【LG3249】[HNOI2016]矿区 题面 "洛谷" 题解 先平面图转对偶图, 建好了对偶图之后随意拿出一个生成树,以无边界的范围为根。 无边界的范围很好求,用叉积算出有向面积时,算出来是负数的就是无边界的范围。 然后标记所有的树边,记录生成树中每个子树的矿区面积和及面积平方和。 对于每一个询问
阅读全文
摘要:【LG3246】[HNOI2016]序列 题面 "洛谷" 题解 60pts 对于每个位置$i$,单调栈维护它往左第一个小于等于它的位置$lp_i$以及往右第一个小于它的位置$rp_i$。 那么在左端点在$(lp_i,i]$,右端点在$[i,rp_i)$的所有区间中, 区间的贡献均为$a_i$(之所以
阅读全文
摘要:题面 "洛谷" 题解 30pts 爆搜即可。 100pts 题意描述里有一句:"对每张图片$i$,小$D$都最多只记住了某一张质量不比$i$差的另一张图片$K_i$。" 即只有一个父亲,且$m\leq n$,所以建树,容易想到树形$dp$, 对于"$=$"的,直接用并查集将之看成一个点, 对于"$
阅读全文
摘要:题面 "洛谷" 题解 20pts 直接暴力统计即可,复杂度$O(NQ)$。 另20pts 我们考虑动态点分治。 怎么在原树上统计答案呢,我们对点$x$, 预处理出其子节点数目$s_0$,其子树内每个点到$x$的距离和$s_1$,以及其子树内每个点到$fa_x$的距离和$s_2$。 则每次我们暴跳父亲
阅读全文
摘要:题面 "洛谷" 题解 20pts 枚举每一条边是否在树中即可。 另10pts 我们考虑一张$DAG$中构成树的方法数,每个点选一个父亲即可,那么有 $$Ans=\prod_{i=1}^{n} deg_i$$ $deg_i$表示点$i$的入度,其中$deg_1=1$。 $100pts$ 考虑在上面的基
阅读全文
摘要:题面 "洛谷" 题解 首先我们有个非常显然的思路, 就是直接拓扑排序,用小根堆代替队列再按顺序输出,但是很显然是错的, 因为这只保证了字典序最小,而无法保证答案最优,$,$就是一个例子。 可以发现,让编号大的尽量在后面被选答案一定最优,所以在反图上大根堆+拓扑排序在逆序输出即可。 代码 代码是以前的
阅读全文
摘要:题面 "洛谷" 题解 20pts 对于$n,P,Q\leq 3000$,暴力判断每条路径的包含关系然后排序$kth$即可,复杂度$O(PQ\log P)$ 另30pts 原树为一条链。 发现对于每个盘子,也就是区间$x,y$,那么对于包含这个区间的水果$u,v$,要满足$u\leq x\leq y\
阅读全文
摘要:题目描述 给出$n$堆石子, 每次可以选择将大于某个数$f$一堆平均分成多个堆, 最后不能操作的失败。 题解 10pts 直接爆搜即可。 70pts 像我们对这类题目的常规操作那样,将一整个局面分为几个子游戏,然后异或起来求答案。 注意到我们现将一堆$m$分为$i$堆,那么会分成$\lfloor \
阅读全文
摘要:题目描述 给你一张$N$个点、$M$条边的有向图,按顺序给定你一条有$L$条边的$1\rightarrow n$的最短路, 每次断掉这$L$条边中的一条(不对后面答案产生影响),求每次断边之后的最短路。 题解 40pts 每次断边之后跑$dijkstra$最短路即可,复杂度$O(LM\log N)$
阅读全文
摘要:题面 题解 分三种情况: 若所有串都没有通配符,直接哈希比较即可。 若所有串都有通配符, 把无通配符的前缀 和 无通配符的后缀哈希后比较即可。 中间部分由于通配符的存在,一定可以使所有串匹配。 若部分串有通配符, 首先把所有无通配符的字符串比较好。 现在问题变为,能否通过通配符使每个串变为一个模板串
阅读全文
摘要:题面 "洛谷" 题解 代码 cpp include include include include include include using namespace std; inline int gi() { register int data = 0, w = 1; register char c
阅读全文
摘要:题面 "洛谷" 题解 代码 cpp include include include include include include using namespace std; inline int gi() { register int data = 0, w = 1; register char c
阅读全文
摘要:题面 "洛谷" 题解 代码 cpp include include include include include include using namespace std; inline int gi() { register int data = 0, w = 1; register char c
阅读全文
摘要:题面 "洛谷" 题解 勘误:新的休息点a需要满足的条件2为那一部分小于等于ans 代码 $100pts$ cpp include include include include include include using namespace std; inline int gi() { regist
阅读全文
摘要:题面 "洛谷" 题解 代码 $100pts$
阅读全文
摘要:题面 "洛谷" 题解 代码 $50pts$
阅读全文
摘要:【LG3236】[HNOI2014]画框 题面 "洛谷" 题解 和 " 这题 " 一模一样。 将最小生成树换成$KM$即可。 关于复杂度,因为决策点肯定在凸包上,且$n$凸包的期望点数为$\sqrt {\ln n}$ 所以$n!$个点的期望点数为$\sqrt {\ln n!}=\sqrt {\sum
阅读全文
摘要:【BZOJ3142】[HNOI2013]数列 题面 "洛谷" "bzoj" 题解 设第$i$天的股价为$a_i$,记差分数组$c_i=a_{i+1} a_i$ 则 $$ Ans=\sum_{c_1=1}^M\sum_{c_2=1}^M\sum_{c_3=1}^M...\sum_{c_{k 1}=1}
阅读全文
摘要:【BZOJ2395】[Balkan 2011]Timeismoney 题面 "$darkbzoj$" 题解 如果我们只有一个条件要满足的话直接最小生成树就可以了,但是现在我们有两维啊。。。 我们将每个方法的 费用和时间 看作一个二维坐标$(x,y)$ 则我们要求$x\centerdot y=k$最小
阅读全文
摘要:【CF613D】Kingdom and its Cities 题面 "洛谷" 题解 看到关键点当然是建虚树啦。 设$f[x]$表示以$x$为根的子树的答案,$g[x]$表示以$x$为根的子树内是否有 和$x$联通 的点,$c=\sum_{v\in son_x} g[v]$。 分类讨论一下: 如果一个
阅读全文
摘要:【LG4103】[HEOI2014]大工程 题面 "洛谷" 题解 先建虚树,下面所有讨论均是在虚树上的。 对于第一问:直接统计所有树边对答案的贡献即可。 对于第$2,3$问:记$f[x]$表示在$x$的子树内离$x$距离最远的关键点的距离,$g[x]$表示在$x$的子树内离$x$距离最近的关键点的距
阅读全文
摘要:【LG3320】[SDOI2015]寻宝游戏 题面 "洛谷" 题解 不需要建虚树的虚树2333。。。 贪心地想一下,起始节点肯定是在关键点上,访问顺序就是$dfs$序。 那么对于每次询问, $$ Ans=dis(S_1,S_s)+\sum_{i=1}^{s 1}dis(S_i,S_{i+1}) $$
阅读全文
摘要:【LG4841】城市规划 题面 "洛谷" 题解 记$t_i$表示$i$个点的 无向图 个数,显然$t_i=2^{C_i^2}$。 设$f_i$表示$i$个点的 无向连通图 个数,容斥一下,枚举$1$号点所在连通块的大小,再让剩下的点随便构成联通图, 则有: $$ f_i=t_i \sum_{j=1}
阅读全文
摘要:【CF960G】Bandit Blues 题面 "洛谷" 题解 思路和 "这道题" 一模一样,这里仅仅阐述优化的方法。 看看答案是什么: $$ Ans=C(a+b 2,a 1)\centerdot s(n 1,a+b 2) $$ 组合数我们已经可以$O(N)$求了,主要是第一类斯特林数存在问题。 考
阅读全文
摘要:生成函数(母函数)总结 普通型生成函数(OGF) 定义 对于一个序列$a_0,a_1,a_2,a_3...$,定义$G(x)=a_0+a_1x^1+a_2x^2+a_3x^3+...$为序列的母函数。 然后。。。没了???没了。 应用 一些常见的生成函数($n\in N^+$): $\frac {1
阅读全文
摘要:【BZOJ4560】[NOI2016]优秀的拆分 题面 "bzoj" "洛谷" 题解 考虑一个形如$AABB$的串是由两个形如$AA$的串拼起来的 那么我们设 $f[i]$:以位置$i$为结尾的形如$AA$串的个数 $g[i]$:以位置$i$为开头的形如$AA$串的个数 $$ \therefore
阅读全文
摘要:【LG3321】[SDOI2015]序列统计 题面 洛谷 题解 前置芝士:原根 我们先看一下对于一个数$p$,它的原根$g$有什么性质(好像就是定义): \(g^0\%p,g^1\%p,g^2\%p...g^{p-2}\%p\) 恰好等于 $[0,p - 1]$中所有数。 那么怎么求呢? 对$\va
阅读全文
摘要:【LG3703】[SDOI2017]树点涂色 题面 洛谷 题解 一次只能染根到$x$,且染的颜色未出现过 这句话是我们解题的关键。 设$x$到根的颜色数为$f(x)$,则$u$到$v$的颜色数:\(f(u)+f(v)-f(lca_{u,v})+1\) 想一想,为什么? 很显然,如果没有$1$操作,我
阅读全文