01 2019 档案
摘要:【LG4091】[HEOI2016/TJOI2016]求和 题面 要你求: n∑i=0i∑j=0S(i,j)2jj! 其中S表示第二类斯特林数,n≤105,答案对998244353取模。 题解 这题你们好早就做了,因为由于技术原因(不
阅读全文
摘要:【LG4491】[HAOI2018]染色 题面 "洛谷" 题解 颜色的数量不超过lim=min(m,nS) 考虑容斥,计算恰好出现S次的颜色 至少 i种的方案数f[i],钦定i种颜色至少放S种 有m种颜色,那么要乘上Cim。 然后这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≤3000,d≤109 题解 先上一个O(nd)的dp: 设f[u][j]表示点u分配
阅读全文
摘要:【BZOJ3551】[ONTAK2010]Peaks加强版 题面 给你一个图,每次询问给定一个位置、长度和k,问从这个点出发,只能经过不大于这个长度的边,到达的点中点权第k大的点权 图的规模:105 题解 考虑离线怎么做: 将所有询问存下来,按照边权排序 每次加边线段树合并查kth
阅读全文
摘要:【BZOJ2589】[SPOJ10707]Count on a tree II 题面 "bzoj" 题解 这题如果不强制在线就是一个很sb的莫队了,但是它强制在线啊qaq 所以我们就用到了另一个东西:树分块 具体是怎么分块的呢:根据深度,从最深的叶子节点往上分,同一子树内的节点在一个块 比如
阅读全文
摘要:【LG3206】[HNOI2010]城市建设 题面 "洛谷" 题解 有一种又好想、码得又舒服的做法叫线段树分治+LCT 但是因为常数过大,无法跑过此题。 所以这里主要介绍另外一种玄学cdq分治 对时间进行分治 因为每次分治都必须要缩小数据规模 而我们这里貌似无法满足这个要求 引进了下面的玄学
阅读全文
摘要:【LG4185】[USACO18JAN]MooTube 题面 "洛谷" 题解 先将所有操作和询问离线 然后按照边权从大到小将操作和询问排序 利用twopointers,每次扫到一个询问,将边权大于等于它的边的两点全部都并起来 因为边权大的满足,那么边权小的一定也能满足 对于每个询问,直接查它
阅读全文
摘要:【LG4585】[FJOI2015]火星商店问题 题面 bzoj权限题 "洛谷" Notice: 关于题面的几个比较坑的地方: “一天”不是一个操作,而是有0操作就相当于一天开始了,然后下面的紧跟着的1操作都算这一天的,直到再次出现0操作为止。当然第一个操作可能会是1操作这个时候也算第一天(比如
阅读全文
摘要:【LOJ121】「离线可过」动态图连通性 题面 "LOJ" 题解 线段树分治的经典应用 可以发现每个边出现的时间是一个区间 而我们每个询问是一个点 所以我们将所有边的区间打到一颗线段树上面去 询问每个叶子用并查集维护节点的联通性就好了 注意并查集因为要撤消所以只能用按秩合并保证复杂度 具体实现详见代
阅读全文
摘要:【CF600E】Lomsat gelral 题面 给你一颗n个节点的树,每个节点都有一种颜色,m次询问,每次询问求每个子树中出现次数最多的颜色(们)的编号之和。 其中n≤105,m≤105 题解 dsuontree板子题 不会的推荐看 "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≤|s1|,|s2|≤n 题解 其实和 "这题" 差不多。 根据后缀数组常用套路,将将$s1
阅读全文
摘要:【BZOJ3238】[AHOI2013]差异 题面 给定字符串S,令Ti表示以它从第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
阅读全文
摘要:线性常系数齐次递推总结 本文为作者的一些理解,如有错误之处请指出。 概念 其实就是这样一个式子: an=α1an1+α2an2+α3an3+...+αkank 因为它是线性的,没有高次的项,而且次数都相等,
阅读全文
摘要:【HDU4565】So Easy! 题面 要你求 ⌈(a+√b)n⌉%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的最长不降子序列有多少个 这个可以用树状数组n2logn求出 设g[i]为长度为i的不降子序列的和 则g[i]=∑nj=1f[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],待插入的数为ai 会有下面两种情况: 1.aix+1时,x+1肯定表示不出来$
阅读全文
摘要:【LG4609】[FJOI2016]建筑师 题面 "洛谷" 题解 (图片来源于网络) 我们将每个柱子和他右边的省略号看作一个集合 则图中共有a+b2个集合 而原来的元素中有n1个(除去最后一个) 考虑第一类斯特林数的意义: 从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=n−1∑i=0d[i]∗fp[i] 题目转化为求所有的fp[i]
阅读全文
摘要:【CF813D】Two Melodies 题面 洛谷 题解 dp: 设f[i][j]表示第一个集合以i结尾、第二个集合以j结尾的合法长度之和最大是多少 明显有f[i][j]=f[j][i] 所以不妨设i<j 暴力就是O(n3)的 然后因为合法的转移只有它的绝对值相差一或
阅读全文
摘要:【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级祖先那里) 代码
阅读全文
摘要:长链剖分总结 概念 长链剖分和轻重链剖分十分相似,都是将一棵树节点的信息分成多条链的信息,但是前者是以深度剖分,后者则是以子树大小来剖分。 同时长链剖分还借鉴了dsuontree的一些trick使得它能十分高效地合并子树信息。 性质 破天荒地写了证明 性质一 所有链长度之和为节点数
阅读全文
摘要:【BZOJ1951】[SDOI2010]古代猪文 题面 bzoj 洛谷 题解 题目实际上是要求 G∑d|nCdnmod999911659 而这个奇怪的模数实际上是个素数,由欧拉定理 $ 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】花神的数论题 题面 "洛谷" 题解 设fi,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:离散傅里叶变换→O(n2)计算多项式卷积 FFT:快速傅里叶变换→O(nlogn)计算多项式卷积 NTT:快速数论变换→对FFT的常数优化 MTT:NTT的一些
阅读全文
摘要:【CF543E】Listening to Music 题面 "洛谷" 题目大意 给你一个长度为n序列ai,和一个常数m,定义一个函数f(l,x)为[l,l+m1]中小于x的数的个数,有q个询问,每次给定l,r,x查询minri=lf(i,x)。 题解
阅读全文
摘要:【CF833E】Caramel Clouds 题面 "洛谷" 题目大意: 天上有n朵云,每朵云i会在时间[li,ri]出现,你有C个糖果,你可以花费ci个糖果让云i消失,同时需要保证你最多让两朵云消失.现在有m个独立的询问,每次给你一个需要让阳光照k时间的植 物,问
阅读全文
摘要:【LG2183】[国家集训队]礼物 题面 "洛谷" 题解 插曲:不知道为什么,一看到这个题目,我就想到了 "这个人" 。。。 如果不是有exLucas,这题就是sb题。。。 首先,若∑mi=1win就直接Impossible了 然后我们考虑怎么求方案,其实很简单啊。
阅读全文
摘要:(ex)Lucas总结 普通Lucas 求 Cmnmodp 其中n,m,p≤105其中p为质数 ~~公式不难背,那就直接背吧。。。~~ Cmnmodp=CmmodpnmodpCm/pn/p 如
阅读全文