摘要: 题目传送门 分析: 一个离谱的构造 全部是白点,我们考虑先将树上每个节点的权值设为0 一个点进行一次操作1,我们把这个点的权值+1 设$sum(u,v)$表示$u,v$路径上的权值和,一个节点$u$的深度为$dpt_u$ 假设没有操作2,查询某个点$x$颜色时 若该点为黑色,当且仅当存在一个祖先$y 阅读全文
posted @ 2020-07-13 22:05 Izayoi_Doyo 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: 考虑把最大流转换成最小割来处理这个问题 考虑这个图的特性: 如果说我们要割去$A_i$到$A_{i+1}$的边,那么对于$j>i$,我们就没必要割去$A_j$到$A_{j+1}$的边了 $B$同理,这样$A$和$B$中我们只需要至多各自割掉一条边 因为有不割$A$或$B$,而多割 阅读全文
posted @ 2020-07-13 20:28 Izayoi_Doyo 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: 先转化一下模型,把队伍看作点,两个队伍比赛看作边,给边$K$染色,假设以点$i$为端点,颜色最大的值为$mx_i$,最小为$mn_i$ 我们需要找到染色方案使得对于每一个点$i$,\(mx_i-mn_i\leq 2\) 不知道所有的比赛是否都可以举行,我们先尝试看看能不能每条边都 阅读全文
posted @ 2020-07-10 19:14 Izayoi_Doyo 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: 暴力DP无法通过,考虑按横坐标进行分治 假设目前分治区间中点为$mid$,沿这一列将矩形划分成两份,如果一次询问两端分别在两边,那么其路线一定经过$mid$这一列上的某一点 设$f[x][y][k]=0/1$表示$(x,y)\(能否走到\)(k,mid)$ 最后答案只需要判断是否 阅读全文
posted @ 2020-07-09 14:35 Izayoi_Doyo 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: 看到这个限制条件构成了一个树形结构,相当于儿子节点的生产数一定不小于父亲节点,且不比父亲节点多超过$D$个 差分一下,如果一个节点要制造物品,那么其子树内的节点全部都制造一个物品,非根节点最多造$D$个物品 效果相同,并且将每个节点的代价和收益变为子树和,我们就可以脱离树形结构直 阅读全文
posted @ 2020-07-08 15:50 Izayoi_Doyo 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: 没有操作4怎么做? 暴力维护数组,加入就暴力加入,对于这些数维护二进制下每一位1的个数的前缀和,全局异或打一个标记,查询的时候按位前缀和作差就好了 现在有了操作4怎么做? 发现如果一个前缀已经排好了序,这个前缀内部的顺序就不再会被打乱了,考虑使用Trie维护这个前缀 对Trie也 阅读全文
posted @ 2020-07-07 16:20 Izayoi_Doyo 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: 对于每一个左端点$l$,我们都能找到一个$r$,使得$l \leq j \leq r$的$S_{l,j}$为$T$的子串,$j \geq r$的$S_{l,j}$不为$T$的子串 当$l$增大时,对应的$r$单调不降,尝试求出每一个$l$对应的$r$ 考虑建一个SAM,目前的$S 阅读全文
posted @ 2020-07-07 10:45 Izayoi_Doyo 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: 对于两个相邻的字符$a,b$,在排列中的位置为$rk_a,rk_b$,如果$rk_a>=rk_b$那么必须多用一个模式串 由于字符集很小,我们开一个线段树,每个节点上有一个$K*K$的数组,$a[i][j]$表示某一段区间前一个为$i$后一个为$j$的个数 维护两端字符可以简单合 阅读全文
posted @ 2020-07-06 17:05 Izayoi_Doyo 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 分析: 建立后缀自动机,对于同一节点上的子串,由于endpos集合相同,覆盖的大小必定随长度的增加单调不降 维护endpos集合相邻两个位置的距离,二分+线段树可以快速算出长度为$mid$的子串覆盖的大小 在后缀树上从下往上合并,两个位置的距离用set维护,在线段树上修改 线段树合并,s 阅读全文
posted @ 2020-07-05 22:43 Izayoi_Doyo 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: 直接膜拜大佬博客OrzOrzOrz #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<vector> #include<iostream> #include<map> # 阅读全文
posted @ 2020-07-05 22:08 Izayoi_Doyo 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: 由于红蓝有限制,我们可以先考虑染红色和蓝色,然后用绿色补完整个图 常常有把棋盘转化为二分图的套路,这次是把二分图转化为棋盘 那么红色和蓝色在二分图上没有公共点,相当于在棋盘上放任意多的车,使得车不能互相攻击到 假设大小为$n$的棋盘的方案数为$F_n$,我们可以枚举放多少个车: 阅读全文
posted @ 2020-07-05 21:56 Izayoi_Doyo 阅读(212) 评论(2) 推荐(1) 编辑
摘要: 题目传送门 分析: (太棒了学到虚脱) 先考虑暴力DP: \(f_i=1+\sum_{j=0}^{2^n-1}p_jf_{i\oplus j}\) 感觉可以用FWT优化诶。。。 设$F$为$f$的集合幂级数,$P$为$p$的集合幂级数,$I$为每一位都是1的集合幂级数 把上面的DP表达一下: \(F 阅读全文
posted @ 2020-07-02 15:21 Izayoi_Doyo 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: 每种配料至少出现两次好像很难做,我们考虑容斥,算某些配料没有出现两次,也就是最多出现了一次的方案 设$F_i$表示至少有$i$种配料最多出现了一次 答案即为$\sum_(-1)iF_i$ 考虑如何计算$F_i$ 首先我们思考这$i$种配料放到$j$碗面里面,由于每种配料最多出现一 阅读全文
posted @ 2020-07-02 10:35 Izayoi_Doyo 阅读(167) 评论(0) 推荐(0) 编辑
摘要: ###CF1264D2 Beautiful Bracket Sequence (hard version) 题目传送门 分析: 考虑一个右括号如果会对最大深度造成贡献,那么它满足在它右边右括号数量会比其左边的左括号少 假设在其右边的右括号数量为$A$,问号为$t_1$,其左边的左括号数量为$B$,问 阅读全文
posted @ 2020-07-01 15:08 Izayoi_Doyo 阅读(574) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: 给出$N$和$K$,求: \(\sum_{i=0}^{n}[k|i]\binom{n}{i}\) 想一下$[k|i]$怎么表达 开始离谱的构造 找到$k$次单位根$w_k=g^{\frac}$ 发现: \(\sum_{j=0}^{k-1}w_k^{ij}=[k|i]k\) 当$k 阅读全文
posted @ 2020-06-30 10:38 Izayoi_Doyo 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: (有生之年考场上会做的后缀数组题 (后缀数组是个好东西,我有头发的时候天天写 把两个串接在一起,中间隔一个分隔符 把$sa$和$height$跑出来 把我们所需要配对的子串首位置的$rk$位置标记 两个子串$s1,s2$匹配代价为$K-lcp(s1,s2)$ 转化为区间$heig 阅读全文
posted @ 2020-06-29 16:11 Izayoi_Doyo 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: 树上问题放仙人掌上考已经很离谱了,仙人掌上加一条边是什么烂玩意?? 本题会反复运用仙人掌的一个公式: 点-边+环=1 我们先判断一下$G$是否是一棵仙人掌,如果是就直接把环的大小乘起来就好了 如果不是,我们就要想办法找到哪一条边在作怪 先找点双连通分量,肯定会形成若干个环和一个奇 阅读全文
posted @ 2020-06-28 19:50 Izayoi_Doyo 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: 不是很懂,一顿胡乱找规律2333 先写个暴力,设$f[i][j]$表示目前还有$i$个石子,目前这一步最多取$j$个,先手是否必胜 看一下转移: \(f[i][j]=![\&_{k=1}^{j}f[i-k][2k]]\) 不知道与和怎么写,直接写一个$&$顶一下吧2333 光看这 阅读全文
posted @ 2020-06-28 15:14 Izayoi_Doyo 阅读(397) 评论(2) 推荐(1) 编辑
摘要: 题目传送门 分析: 我们先找一下一定不能匹配的数有哪些,显然是$1$与在区间$(\lfloor\frac{2}\rfloor,N]$的质数 剩下的数能不能全部匹配呢?我们尝试构造一下 把每个数分到其最大质因数的组中,对于每个质因数组,如果大小为偶数,那么就在内部全部匹配了 如果大小为奇数,由于其最大 阅读全文
posted @ 2020-06-27 17:26 Izayoi_Doyo 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: 把凸多边形简化成一个圆,一次电车游览会把圆分割成两部分,之后只能在其中一部分里面进行游览 考虑DP,设$F_{i,j,0/1}\(表示,目前我们只能游览逆时针方向\)(i,j)$中的点,并且下一步是从$i$还是$j$出发 枚举区间中的某个点$k$,分类讨论,简单转移 #inclu 阅读全文
posted @ 2020-06-27 15:29 Izayoi_Doyo 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: 期望=总价值/方案数 于是就想办法算这两个。。。 每个村民一个宝石,每天一个村民的一个宝石一分为二 相当于最初都没有宝石,每天一个村民可以获得一个宝石 效果是等价的 问题变成了将$d$个宝石随机分给$n$个村民,求拥有最多宝石的$r$个人手上宝石的价值和 设将$d$个宝石分给$n 阅读全文
posted @ 2020-06-26 16:21 Izayoi_Doyo 阅读(435) 评论(2) 推荐(0) 编辑
摘要: 题目传送门 分析: 费用流,然而不会优化,在线膜拜大佬的博客OrzOrzOrz #include<cstdio> #include<cmath> #include<cstring> #include<algorithm> #include<vector> #include<queue> #defin 阅读全文
posted @ 2020-06-26 15:08 Izayoi_Doyo 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: 一道破题调一天。。。 小学数三角形题做不来,我被开除人籍了QAQ 像这样处理一下(其实代码中可以不用这样处理,只是方便理解) 我们先想一下如何求这种形状$△$,向下的三角形类似处理就好了 我们可以边做边处理每个点向左,向上,向右上延伸的最长距离 每一行单独处理 一个点$(x,y) 阅读全文
posted @ 2020-06-26 11:11 Izayoi_Doyo 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: (被吊打的日子开始了。。。) 首先要发现一个奇妙的结论,由于一条线两端会在矩形两个不同的边界上,于是我们切两条对角线,一定能够切掉所有线 所以答案不会超过2。。 于是我们开始考虑所有线能不能一刀切 我们把矩形拆开看做数轴 进行这样的转换之后,我们实际上是要求一个区间,使得这个区间 阅读全文
posted @ 2020-06-25 20:34 Izayoi_Doyo 阅读(367) 评论(0) 推荐(0) 编辑
摘要: Day -1 最后一场模拟赛,几乎爆零,感觉出大问题 中途出来逛了三次,喘了好几口气 不太对啊2333 感觉这把会跪啊。。。 晚上改题,感觉自已一大堆东西都不会啊 菜就是菜,进不了队自己活该 Day 0 省选就在我们学校,不知道主场到底是buff还是debuff 全天复习,感觉也没干啥,就敲了几个板 阅读全文
posted @ 2020-06-22 11:47 Izayoi_Doyo 阅读(563) 评论(1) 推荐(2) 编辑
摘要: 题目: 分析: 神仙期望,神仙结论: 对于一个点,肯定先随机跳再一路走到终点,这样是最优的 一个点向终点走了之后再随机跳,不会比直接随机跳更优 一个点的期望只与他到终点的距离有关 我们想找到一个阈值$D$,使得离终点小于等于$D$的点直接走最优 显然可以二分,可是如何判断? 我们算出距离大于$mid 阅读全文
posted @ 2020-06-18 22:27 Izayoi_Doyo 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 题目: 分析: 考虑树的情况,把根的颜色确定之后剩下的颜色只需要与父亲不同就好了,答案为$C(C-1)$ 考虑环的情况,答案需要减去终点和起点颜色相同的情况,强行合并起点终点答案为$C(C-1)$,但是发现这样多减了终点和倒数第二个点相同的情况。。。 考虑容斥 假设一个环的长度为$n$,答案为$\s 阅读全文
posted @ 2020-06-18 21:27 Izayoi_Doyo 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: 跑去写了一下烷基计数(博客),这道题要先会求烷基的生成函数 我们假设求出来了烷基的生成函数为$A$ (蒟蒻表示被开除人籍了,看不大懂) 反正先照着式子写一下吧 (省选不退役再回来补吧2333) upd: 退役失败,回来补坑 以下为口胡。。。 P函数是确定一个重心,四面接烷基的方案 阅读全文
posted @ 2020-06-18 15:19 Izayoi_Doyo 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: 这牛顿迭代真离谱 首先求烷基的话我们至少可以先找到根的位置 然后找一个生成函数$f$表达它 相当于每个点除了父亲还可以连出三个儿子 于是$f_n=\sum_{i+j+k+1=n}f_f_f_$ 空树时$f_0=1$ 这个是没有考虑同构,同构时结合polya定理,置换大小为6 手玩 阅读全文
posted @ 2020-06-17 22:44 Izayoi_Doyo 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: 这里 与 和 或 两种运算明显可以近似处理,我们先考虑 与 的情况 设目前要 与 的值为$x$ 如果一个区间的 或和 与上 $x$为它本身,那么这次操作在这个区间上就没有用,不用向下处理了 如果一个区间的 或和 与上 $x$等于这个区间的 与和 与上 \(x\),那么这次操作对这 阅读全文
posted @ 2020-06-17 22:15 Izayoi_Doyo 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: 集合G的成功的答案不好算,我们可以用1减去失败的概率,失败的的情况只可能是随机区间在G相邻两个元素之间 我们考虑集合删除,最暴力的就是使用Set直接删除 单次删除$O(logn)$不优,这道题维护信息只考虑删除的话可以使用双向链表 但是插入就麻烦了,我们不知道当前插入的关键点在哪 阅读全文
posted @ 2020-06-12 21:48 Izayoi_Doyo 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: 我们考虑求最终交集恰好为某个矩形的答案 发现这玩意不好求,我们退而求其次 求最终交集包含某个矩形的答案 这个就可以做了,考虑一个全1矩形贡献范围为给一个矩形内部+1,差分一下变成两个角+1,两个角-1 差分后的贡献可以转化为一个全1矩形对左上右上左下右下的贡献,这个做四次单调栈D 阅读全文
posted @ 2020-06-12 20:53 Izayoi_Doyo 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: 把后面的串建一个广义SAM,每个点开一个线段树,下标是该点所在的串的编号,记录这个编号的T串里这个endpos集合子串的出现次数 Parent树上线段树合并 然后对S串每一个前缀的终点,找到其在SAM上对应的点和匹配长度 然后每次询问树上培增找到子串所在的endpos集合的点,查 阅读全文
posted @ 2020-06-11 21:59 Izayoi_Doyo 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: 最暴力的做法,A向可以控制的B连边,B向以它为前缀的A连边 然后拓扑排序求一条路径的最大值 复杂度$O(n^2)$ 明显要优化连边,这里给出两种解法: SAM优化建边: 这里要前缀关系,我们反向建SAM将其变成后缀关系 对于每个串$[l,r]$,我们先找到$r$结尾的前缀在SAM 阅读全文
posted @ 2020-06-11 19:48 Izayoi_Doyo 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: 前缀的公共后缀,那直接SAM安排上 两个前缀的公共后缀为两个串对应Parent树上节点的LCA 于是$[l,r]$之间的公共后缀最长对应这些点两两在Parent树上LCA的最大的len Set启发式合并做法: 建出了Parent树,我们考虑每一个点$u$,合并它的子树集合时,两个 阅读全文
posted @ 2020-06-11 15:51 Izayoi_Doyo 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: 同色点连通挺恶心的 要求全部点连通的话就可以直接斯坦纳树了 同色点连通满足还要考虑异色点可能会共用边使答案更小 于是尝试枚举一个颜色集合的点全部连通,形成斯坦纳树 然后把所有集合拼起来,形成斯坦纳森林 之中有一种方案一定是最小的 枚举子集的子集的子集复杂度是$O(4n)$ 总复杂 阅读全文
posted @ 2020-06-10 22:25 Izayoi_Doyo 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析: 先使用人类智慧进行构造 每个筐拆成三个点,相互连边 每个球向它可以放的筐拆成的三个点连边 如果一个筐半空,那么拆成的三个点会有两个以上没有和球匹配 那么它们自身能构成一个匹配 每个球都能放进去,求一下原图的最大匹配 答案就是最大匹配-球数 (又一次被开除人籍 一般图的最大匹配使用 阅读全文
posted @ 2020-06-10 22:14 Izayoi_Doyo 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 题目: 分析: 人丧病脑子不好使 不管这个图怎么建的,我们先考虑这种图怎么染色 一般图染色不会做,我们看看这个图的一些性质 考虑从后往前染色,一个点的颜色会被后面的与他有连边的点限制 而根据题目的构图方法,一个点后面与他有连边的点一定会构成一个团,两两颜色一定不同 把图改为有向,小的向大的连边,一个 阅读全文
posted @ 2020-06-10 11:55 Izayoi_Doyo 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 题目: 分析: 原来平方串就是两个相同的串拼一起啊(大雾 考虑暴力的过程,将$K$种边按边权排序,暴力实现Kruskal算法 复杂度是$O(n2)$的 瓶颈就在于并查集 我们考虑培增,$f[k][x]\(表示\)[x,x+2k)$上的公共祖先,如果不在同一个并查集上,$f[k][x]$指向$x$ 这 阅读全文
posted @ 2020-06-10 11:36 Izayoi_Doyo 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 题目: 分析: #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<vector> #include<iostream> #include<map> #include<bitset> #inc 阅读全文
posted @ 2020-06-09 21:26 Izayoi_Doyo 阅读(172) 评论(0) 推荐(0) 编辑