01 2019 档案
摘要:【LG4091】[HEOI2016/TJOI2016]求和 题面 要你求: $$ \sum_{i=0}^n\sum_{j=0}^iS(i,j) 2^j j! $$ 其中$S$表示第二类斯特林数,$n\leq10^5$,答案对$998244353$取模。 题解 这题你们好早就做了,因为由于技术原因(不
阅读全文
摘要:【LG4491】[HAOI2018]染色 题面 "洛谷" 题解 颜色的数量不超过$lim=min(m,\frac nS)$ 考虑容斥,计算恰好出现$S$次的颜色 至少 $i$种的方案数$f[i]$,钦定$i$种颜色至少放$S$种 有$m$种颜色,那么要乘上$C_m^i$。 然后这$n$个位置分为$i
阅读全文
摘要:【LG3723】[AHOI2017/HNOI2017]礼物 题面 "洛谷" 题解 首先我们将$c$看作一个可以为负的整数,那么我们就可以省去讨论在哪个手环加$c$的繁琐步骤了 设我们当前已经选好了手环的顺序 则 $$ Ans=\sum_{i=1}^n(x_i y_i+c)^2\\ =\sum_{i=
阅读全文
摘要:【CF995F】Cowmpany Cowmpensation 题面 树形结构,$n$个点,给每个节点分配工资$[1,d]$,子节点不能超过父亲节点的工资,问有多少种分配方案 其中$n\leq3000,d\leq10^9$ 题解 先上一个$O(nd)$的$dp$: 设$f[u][j]$表示点$u$分配
阅读全文
摘要:【BZOJ3551】[ONTAK2010]Peaks加强版 题面 给你一个图,每次询问给定一个位置、长度和$k$,问从这个点出发,只能经过不大于这个长度的边,到达的点中点权第$k$大的点权 图的规模:$10^5$ 题解 考虑离线怎么做: 将所有询问存下来,按照边权排序 每次加边线段树合并查$kth$
阅读全文
摘要:【BZOJ2589】[SPOJ10707]Count on a tree II 题面 "bzoj" 题解 这题如果不强制在线就是一个很$sb$的莫队了,但是它强制在线啊$qaq$ 所以我们就用到了另一个东西:树分块 具体是怎么分块的呢:根据深度,从最深的叶子节点往上分,同一子树内的节点在一个块 比如
阅读全文
摘要:【LG3206】[HNOI2010]城市建设 题面 "洛谷" 题解 有一种又好想、码得又舒服的做法叫线段树分治+$LCT$ 但是因为常数过大,无法跑过此题。 所以这里主要介绍另外一种玄学$cdq$分治 对时间进行分治 因为每次分治都必须要缩小数据规模 而我们这里貌似无法满足这个要求 引进了下面的玄学
阅读全文
摘要:【LG4185】[USACO18JAN]MooTube 题面 "洛谷" 题解 先将所有操作和询问离线 然后按照边权从大到小将操作和询问排序 利用$two\;pointers$,每次扫到一个询问,将边权大于等于它的边的两点全部都并起来 因为边权大的满足,那么边权小的一定也能满足 对于每个询问,直接查它
阅读全文
摘要:【LG4585】[FJOI2015]火星商店问题 题面 bzoj权限题 "洛谷" $Notice:$ 关于题面的几个比较坑的地方: “一天”不是一个操作,而是有0操作就相当于一天开始了,然后下面的紧跟着的1操作都算这一天的,直到再次出现0操作为止。当然第一个操作可能会是1操作这个时候也算第一天(比如
阅读全文
摘要:【LOJ121】「离线可过」动态图连通性 题面 "LOJ" 题解 线段树分治的经典应用 可以发现每个边出现的时间是一个区间 而我们每个询问是一个点 所以我们将所有边的区间打到一颗线段树上面去 询问每个叶子用并查集维护节点的联通性就好了 注意并查集因为要撤消所以只能用按秩合并保证复杂度 具体实现详见代
阅读全文
摘要:【CF600E】Lomsat gelral 题面 给你一颗$n$个节点的树,每个节点都有一种颜色,$m$次询问,每次询问求每个子树中出现次数最多的颜色(们)的编号之和。 其中$n\leq10^5,m\leq10^5$ 题解 $dsu\;on\;tree$板子题 不会的推荐看 "$gsy$的博客" ~
阅读全文
摘要:【LG4294】[WC2008]游览计划 题面 "洛谷" "bzoj" 题解 斯坦纳树板子题。 斯坦纳树的总结先留个坑。 代码 cpp include include include include include include include using namespace std; inlin
阅读全文
摘要:【BZOJ2754】[SCOI2012]喵星球上的点名 题面 "bzoj" "洛谷" 题解 这题有各种神仙做法啊,什么暴力$AC$自动机、$SAM$等等五花八门 我这个蒟蒻在这里提供一种复杂度正确且常数小的做法。 根据后缀数组经典套路, 我们用一个未出现过的字符将所有串连接起来求一边$SA$(不算询
阅读全文
摘要:【BZOJ4566】[HAOI2016]找相同字符 题面 给定两个字符串,求出在两个字符串中各取出一个子串使得这两个子串相同的方案数。两个方案不同当且仅当这两个子串中有一个位置不同。 其中$1\leq|s1|,|s2|\leq n$ 题解 其实和 "这题" 差不多。 根据后缀数组常用套路,将将$s1
阅读全文
摘要:【BZOJ3238】[AHOI2013]差异 题面 给定字符串$S$,令$T_i$表示以它从第$i$个字符开始的后缀。求 $$ \sum_{1\leq i include include include include include using namespace std; inline int
阅读全文
摘要:【BZOJ4698】[SDOI2008]Sandy的卡片 题面 "flag" 倒了。 "bzoj" "洛谷" 题解 首先题目的区间加很丑对吧, 将每个串差分一下,就可以转化为 求: 给定$N$个串,求他们的最长公共子串。 怎么办呢,按照后缀数组常用套路 我们用不同的未曾用过的字符将这些串连接起来 我
阅读全文
摘要:后缀数组(SA)总结 这个东西鸽了好久了,今天补一下 概念 后缀数组$SA$是什么东西? 它是记录一个字符串每个后缀的字典序的数组 $sa[i]$:表示排名为$i$的后缀是哪一个。 $rnk[i]$:可以理解为$SA$数组的逆,记录后缀$i$的排名是多少,$rnk[SA[i]]=i$。 $lcp[i
阅读全文
摘要:【HDU3117】Fibonacci Numbers 题面 求斐波那契数列的第$n$项的前四位及后四位。 其中$0\leq n include include include include include using namespace std; const int Mod = 1e4; stru
阅读全文
摘要:线性常系数齐次递推总结 本文为作者的一些理解,如有错误之处请指出。 概念 其实就是这样一个式子: $$ a_n=\alpha_1a_{n 1}+\alpha_2a_{n 2}+\alpha_3a_{n 3}+...+\alpha_ka_{n k} $$ 因为它是线性的,没有高次的项,而且次数都相等,
阅读全文
摘要:【HDU4565】So Easy! 题面 要你求 $$ \lceil (a+\sqrt b)^n \rceil \% m $$ 其中$0 include include include include include using namespace std; typedef long long ll
阅读全文
摘要:【BZOJ3144】[HNOI2013]切糕 题面 题目描述 经过千辛万苦小 A 得到了一块切糕,切糕的形状是长方体,小 A 打算拦腰将切糕切成两半分给小 B。出于美观考虑,小 A 希望切面能尽量光滑且和谐。于是她找到你,希望你能帮她找出最好的切割方案。 出于简便考虑,我们将切糕视作一个长 P、宽
阅读全文
摘要:【BZOJ1070】[SCOI2007]修车 题面 以后要多写题面~~flag~~ 题目描述 同一时刻有$N$位车主带着他们的爱车来到了汽车维修中心。维修中心共有$M$位技术人员,不同的技术人员对不同的车进行维修所用的时间是不同的。现在需要安排这M位技术人员所维修的车及顺序,使得顾 客平均等待的时间
阅读全文
摘要:【LOJ6433】【PKUSC2018】最大前缀和 题面 题目描述 小 C 是一个算法竞赛爱好者,有一天小 C 遇到了一个非常难的问题:求一个序列的最大子段和。 但是小 C 并不会做这个题,于是小 C 决定把序列随机打乱,然后取序列的最大前缀和作为答案。 小 C 是一个非常有自知之明的人,他知道自己
阅读全文
摘要:【LOJ4632】[PKUSC2018]真实排名 题面 终于有题面啦!!! 题目描述 小 C 是某知名比赛的组织者,该比赛一共有 $n$ 名选手参加,每个选手的成绩是一个非负整数,定义一个选手的排名是:成绩不小于他的选手的数量(包括他自己)。例如如果 $3$ 位选手的成绩分别是 $[1,2 ,2]$
阅读全文
摘要:【BZOJ4362】isn 题面 "bzoj" 题解 设$f[i][j]$表示当前在$i$,长度为$j$的最长不降子序列有多少个 这个可以用树状数组$n^2logn$求出 设$g[i]$为长度为$i$的不降子序列的和 则$g[i]=\sum_{j=1}^nf[j][i]$ 最后的答案乍一看是$(n
阅读全文
摘要:【LG3973】[TJOI2015]线性代数 题面 "洛谷" 题解 正常解法 一大堆矩阵乘在一起很丑对吧 化一下柿子: $$ D=(A B C) A^T\\ \Leftrightarrow D=\sum_{i=1}^n(\sum_{j=1}^na_j b_{j,i} c_i) a_i\\ \Left
阅读全文
摘要:【LG4587】[FJOI2016]神秘数 题面 "洛谷" 题解 首先我们想一想暴力怎么做 对于一段区间$[l,r]$ 我们先将它之间的数升序排序 从左往右扫, 设当前我们可以表示出的数为$[1,x]$,待插入的数为$a_i$ 会有下面两种情况: 1.$a_i x+1$时,$x+1$肯定表示不出来$
阅读全文
摘要:【LG4609】[FJOI2016]建筑师 题面 "洛谷" 题解 (图片来源于网络) 我们将每个柱子和他右边的省略号看作一个集合 则图中共有$a+b 2$个集合 而原来的元素中有$n 1$个(除去最后一个) 考虑第一类斯特林数的意义: 从$n$个元素选出$m$个有序圆圈的方案数 我们将圆圈从中间最大
阅读全文
摘要:【BZOJ4016】[FJOI2014]最短路径树问题 题面 "bzoj" "洛谷" 题解 虽然调了蛮久,但是思路还是蛮简单的2333 把最短路径树构出来,然后点分治就好啦 ps:如果树构萎了, "这组数据" 可以卡掉 代码 cpp include include include include i
阅读全文
摘要:【BZOJ3197】[SDOI2013]刺客信条 题面 bzoj 洛谷 题解 关于树的同构,有一个非常好的性质: 把树的重心抠出来,那么会出现两种情况: 1.有一个重心,那么我们直接把这个重心作为树的根。 2.有多个重心,这些重心一定有一条边相连,设重心为$u,v$,那么把$u,v$断开,用一个新的
阅读全文
摘要:【BZOJ4008】[HNOI2015]亚瑟王 题面 bzoj 洛谷 题解 由期望的线性性 可以知道,把所有牌打出的概率乘上它的伤害加起来就是答案 记第$i$张牌打出的概率为$fp[i]$ 则 $$ ans=\sum_{i=0}^{n-1}d[i]*fp[i] $$ 题目转化为求所有的$fp[i]$
阅读全文
摘要:【CF813D】Two Melodies 题面 洛谷 题解 $dp$: 设$f[i][j]$表示第一个集合以$i$结尾、第二个集合以$j$结尾的合法长度之和最大是多少 明显有$f[i][j]=f[j][i]$ 所以不妨设$i<j$ 暴力就是$O(n^3)$的 然后因为合法的转移只有它的绝对值相差一或
阅读全文
摘要:【BZOJ4553】[HAOI2016&TJOI2016]序列 题面 bzoj 洛谷 题解 一定要仔细看题啊qwq。。。 我们设$mn[i],mx[i]$表示第$i$个位置上最小出现、最大出现的值。 则选出的序列要满足 $ i<j\\ a[i]\leq mn[j]\\ mx[i]\leq a[j]
阅读全文
摘要:【BZOJ3172】[TJOI2013]单词 题面 bzoj luogu 题解 我们考虑一下$AC$自动机的匹配过程 发现每个字符串的出现次数就是$fail$树上串最后字符节点的权值之和 然后就比较简单了 代码
阅读全文
摘要:【BZOJ2434】[NOI2011]阿狸的打字机 题面 bzoj 洛谷 题解 我们先想一下最暴力是怎么搞的 把$AC$自动机建好,每一个节点,从$y$串的结尾节点往上跳它的父亲, 和普通的$AC$自动机一样跳就好了 然而这个可以优化一下 我们将所有询问离线 每个串统计一次其他串对它的贡献 就可以有
阅读全文
摘要:【BZOJ1212】[HNOI2004]L语言 题面 bzoj 洛谷 题解 其实可以不用AC自动机,但是最近在学就用了。。。 先把自动机建好,然后我们考虑怎么做。 设$vis[x]$表示文本串中$1-x$是否可以被表示出来 然后暴跳$fail$ 设我们当前跳到了点$p$,在字符串的第$i$位 若有以
阅读全文
摘要:【BZOJ2938】[POI2000]病毒 题面 bzoj 洛谷 题解 现在看到字符串的题目就是$AC$自动机23333。。。(以前是哈希) 这题和普通的$AC$自动机题有些许不同 这题的文本串并未给出来 怎么办呢? 想一下,如果一个字符串匹配不到任何东西的话,会怎么样 是不是会一直在里面打转转?
阅读全文
摘要:【BZOJ4543】Hotel加强版 题面 bzoj 洛谷 $ps:$在洛谷看题在bzoj交。。。 题解 我们分析一下这个问题,要怎么样的点才满足三点距离两两相等呢? 1、存在三个点有共同的$LCA$。 2、存在一个点,使得它到它两颗不同的子树种两点的距离为$d$且它存在$d$级祖先。 考虑$dp:
阅读全文
摘要:【Vijos】lxhgww的奇思妙想 题面 Vijos 题解 戳这里 (在求$k$级祖先那里) 代码
阅读全文
摘要:长链剖分总结 概念 长链剖分和轻重链剖分十分相似,都是将一棵树节点的信息分成多条链的信息,但是前者是以深度剖分,后者则是以子树大小来剖分。 同时长链剖分还借鉴了$dsu\;on\;tree$的一些$trick$使得它能十分高效地合并子树信息。 性质 破天荒地写了证明 性质一 所有链长度之和为节点数
阅读全文
摘要:【BZOJ1951】[SDOI2010]古代猪文 题面 bzoj 洛谷 题解 题目实际上是要求 $ G^{\sum d|n\;C_n^d}\;mod \; 999911659 $ 而这个奇怪的模数实际上是个素数,由欧拉定理 $ G^{\sum d|n\;C_n^d}\;mod \; 99991165
阅读全文
摘要:【LG4067】[SDOI2016]储能表 题面 洛谷 题解 这种$n$、$m$出奇的大的题目一看就是数位$dp$啦 其实就是用一下数位$dp$的套路 设$f[o][n][m][k]$表示当前做到第$i$位卡不卡$n,m,k$的界 其中$f$是个$pair$一维存方案数、一位存数值 然后按照普通套路
阅读全文
摘要:【BZOJ2004】[HNOI2010]Bus 公交线路 题面 bzoj 洛谷 题解 $N$特别大$P,K$特别小,一看就是矩阵快速幂+状压 设$f[S]$表示公交车状态为$S$的方案数 这是什么意思呢? 其实就是表示一个位置是否是公交车最后停靠的位置的状态 剔除无效状态后大约只有$125$左右的状
阅读全文
摘要:【CF908G】New Year and Original Order 题面 "洛谷" 题解 设$f[i][j][k][l]$表示当前在第$i$位有$j$位大于等于$k$,当前有没有卡上界的方案数 则枚举新加的数$p$,有 $$ f[i+1][j+(p\geq k)][k][l|(p include
阅读全文
摘要:【LG4317】花神的数论题 题面 "洛谷" 题解 设$f_{i,up,tmp,d}$表示当前在第$i$位,是否卡上界,有$tmp$个一,目标是几个一的方案数 最后将所有$d$固定,套数位$dp$的板子 然后快速幂乘起来就好了 代码
阅读全文
摘要:【LG1445】樱花 题面 "洛谷" 题解 $$ \frac 1x+\frac 1y=\frac 1{n!}\\ \frac{x+y}{xy}=\frac 1{n!}\\ n!(x+y)=xy\\ xy n!(x+y)=0\\ (n!)^2+xy n!(x+y)=(n!)^2\\ (x n!)(y
阅读全文
摘要:FFT&NTT总结 一些概念 $DFT:$离散傅里叶变换$\rightarrow O(n^2)$计算多项式卷积 $FFT:$快速傅里叶变换$\rightarrow O(nlogn)$计算多项式卷积 $NTT:$快速数论变换$\rightarrow$对$FFT$的常数优化 $MTT:$$NTT$的一些
阅读全文
摘要:【CF543E】Listening to Music 题面 "洛谷" 题目大意 给你一个长度为$n$序列$a_i$,和一个常数$m$,定义一个函数$f(l,x)$为$[l,l+m 1]$中小于$x$的数的个数,有$q$个询问,每次给定$l,r,x$查询$min_{i=l}^rf(i,x)$。 题解
阅读全文
摘要:【CF833E】Caramel Clouds 题面 "洛谷" 题目大意: 天上有$n$朵云,每朵云$i$会在时间$[li,ri]$出现,你有$C$个糖果,你可以花费$c_i$个糖果让云$i$消失,同时需要保证你最多让两朵云消失.现在有$m$个独立的询问,每次给你一个需要让阳光照$k$时间的植 物,问
阅读全文
摘要:【LG2183】[国家集训队]礼物 题面 "洛谷" 题解 插曲:不知道为什么,一看到这个题目,我就想到了 "这个人" 。。。 如果不是有$exLucas$,这题就是$sb$题。。。 首先,若$\sum_{i=1}^mw_i n$就直接$Impossible$了 然后我们考虑怎么求方案,其实很简单啊。
阅读全文
摘要:(ex)Lucas总结 普通Lucas 求 $$ C_n^m\;mod\;p $$ 其中$n,m,p\leq 10^5$其中$p$为质数 ~~公式不难背,那就直接背吧。。。~~ $$ C_n^m\;mod\;p=C_{n\;mod\;p}^{m\;mod\;p} C_{n/p}^{m/p} $$ 如
阅读全文