04 2019 档案

摘要:"题目" 这道题我们其实就是利用了一棵后缀树 由于字符串是随机的,所以这个后缀树的树高是$log$的,基于树高的算法是能过的 我们考虑后缀树上的两个节点的$lca$就是这两个节点所代表的后缀的$lcp$ 我们可以把询问按照右端点离线,每次都暴力跳这个在后缀树上暴力跳父亲 我们维护一下后缀树上子树里的 阅读全文
posted @ 2019-04-29 19:01 asuldb 阅读(256) 评论(0) 推荐(0) 编辑
摘要:"题目" 还好我没生在陕西啊 首先发现这个题不能$dp$,数据范围不大,好像一种网络流的样子啊 哎等等,这样向后面连边不是一个$DAG$吗,这不是最小权路径覆盖的板子吗 于是我们套路的拆点,对于一个点$i$我们拆成$i$和$i'$,源点向点$i$连费用为$0$容量为$1$的边,$i'$向汇点连费用为 阅读全文
posted @ 2019-04-28 19:48 asuldb 阅读(535) 评论(0) 推荐(0) 编辑
摘要:"题目" 这个需要我们瞎$yy$一下就能做了 我们先对于第一个串建立$PAM$ 我们把第二个串丢上去匹配,这里匹配出来的是以每一个位置为结尾且在另一个串里存在的最长回文后缀的长度 对于每一个位置开一个计数器,统计一下这个位置被匹配到了几次 显然匹配完之后把计数器做一个子树和 最后的答案就是回文树上的 阅读全文
posted @ 2019-04-28 15:57 asuldb 阅读(192) 评论(0) 推荐(0) 编辑
摘要:"题目" 看起来非常一眼啊,我们完全可以$std::sort$来解决这歌问题 于是现在的问题转化成了比较函数怎么写 随便画一下就会发现前面的好几位是一样的,后面的好几位也是一样,只需要比较中间的一段子串的大小就好了 比较大小我们显然是需要$lcp$的 发现这里的后缀恰好有一位是错位的,于是我们只需要 阅读全文
posted @ 2019-04-28 15:50 asuldb 阅读(293) 评论(0) 推荐(0) 编辑
摘要:"题目" 首先考虑到这是一张有标号的图,每一个点的地位是相等的,因此我们只需要求出一个点的价值和乘上$n$就好了 考虑一个点有多少种情况下度数为$i$ 显然我们可以让除了这个点的剩下的$n 1$个点之间的边随便连,之后这个点从$n 1$个点里选择$i$个连边就好了,于是是$\binom{n 1}{i 阅读全文
posted @ 2019-04-28 11:34 asuldb 阅读(197) 评论(0) 推荐(0) 编辑
摘要:"题目" 我终于会用多项式来做字符串匹配了 我们设一个匹配函数$f(x)$表示$A$串的第$x$位能否匹配 我们把原字符串上的每一个字母都改成数字,比如$'a'$变成$1$,$'b'$变成$2$ 于是我们定义 $$f(x)=\sum_{i=1}^m(A_{i+x 1} B_i)^2$$ 我们考虑一下 阅读全文
posted @ 2019-04-27 21:57 asuldb 阅读(175) 评论(0) 推荐(0) 编辑
摘要:"题目" 什么神仙题啊,我怎么只会$dsu$啊 我们考虑一个非常暴力的操作,我们利用$dsu\ on \ tree$把一棵子树内部的非树边都搞出来,用一个堆来存储 我们从堆顶开始暴力所有的边,如果这条边指向的另外一个点不在当前子树里,我们就把这条边计入答案 这样复杂度显然不是很对,因为我们每次可能要 阅读全文
posted @ 2019-04-27 17:29 asuldb 阅读(182) 评论(0) 推荐(0) 编辑
摘要:"题目" 老年选手啥都不想推只能搞个杜教筛了 这个式子长得好吓人啊,所以我们唯一分解之后来考虑这道题 设$i,j,k$分别是$p^a,p^b,p^c$,至于到底谁是谁并不重要,我们不妨假设$a\leq b\leq c$ 那么$gcd(i\times j,j\times k,k\times i)=mi 阅读全文
posted @ 2019-04-27 09:06 asuldb 阅读(124) 评论(0) 推荐(0) 编辑
摘要:"题目" 我暴力过啦 看到这样的东西我们先搬出来$min max$容斥 我们设$max(S)$表示$x$到达点集$S$的期望最晚时间,也就是我们要求的答案了 显然我们也很难求出这个东西,但是我们有$min max$容斥 设$min(S)$表示$x$第一次到达$S$的期望时间,我们就有 $$max(S 阅读全文
posted @ 2019-04-26 20:48 asuldb 阅读(158) 评论(0) 推荐(0) 编辑
摘要:"题目" 看到这个限制条件有点多,我们就一直容斥好了 先容斥颜色,我们枚举至少不用$i$种颜色 再容斥列,我们枚举至少不用$j$列 最后容斥行,枚举至少不用$k$行 容斥系数显然是$( 1)^i,( 1)^j,( 1)^k$,我们从$c$种颜色里选出$i$种不用,$m$列里选出$j$列不凃,$n$行 阅读全文
posted @ 2019-04-26 17:32 asuldb 阅读(263) 评论(1) 推荐(0) 编辑
摘要:"题目" 考虑题目生成二叉树的方式,发现能产生$n!$种 也就是$i$个节点组成的二叉树有$n!$种 我们再来考虑如何计算树上两两点对之间的距离 显然需要考虑每一条边的贡献,如果一条边连接的两个点种深度较大的点为$i$,那么这条边的贡献就是$(n sz_i)sz_i$ 我们考虑用这种方式来计算答案 阅读全文
posted @ 2019-04-26 15:42 asuldb 阅读(114) 评论(0) 推荐(0) 编辑
摘要:"题目" 首先有一个很假的贪心 我们定义一个人的需求为$H h_i b_i$,就是这个人需要多少的高度在他下面他才能逃出去 我们趁剩余的高度还够,优先满足需求较高的 显然是错的,可能有一个人身高很高,但是胳膊短,于是需求很大,但是我们满足了这个人就不能提供那么多的高度了 于是我们先按照需求从大到小排 阅读全文
posted @ 2019-04-26 11:29 asuldb 阅读(141) 评论(0) 推荐(0) 编辑
摘要:"题目" 翻硬币游戏啊 首先对于这类游戏只要满足如下的规则,就可以用一种特殊的方式解决了 我们假定只能翻正面朝上的硬币 1. 我们可以根据某些约束条件的翻硬币(一次反掉连续几个,或者具有某些特殊性质的),但是翻掉的硬币中最右边的那个比如是从正面反到反面 1. 谁不能翻硬币了谁输 对于满足这样的特征的 阅读全文
posted @ 2019-04-26 10:21 asuldb 阅读(213) 评论(0) 推荐(0) 编辑
摘要:抄袭来源 "zyf学姐的blog" "成爷的blog" 这个标题好潮啊,大概是二轮前学的最后一点新东西了吧 1.无源汇可行流 对于普通的网络流图,每一条边都有一个流量上界,一个源点,一个汇点,之后我们就可以在上面跑跑最大流,算算费用什么的 但是现在有这样一张图,对于每一条边$(u,v)$,有一个流量 阅读全文
posted @ 2019-04-26 08:01 asuldb 阅读(154) 评论(0) 推荐(0) 编辑
摘要:"题目" 有源汇上下界最小费用可行流 首先注意到要求是每一条边都经过至少一次,所以对于每一条边我们设成$[1,\infty]$就好了 另外所有点都能结束剧情,所有点都要向汇点$t$连一条$[0,\infty]$的边 我们根据有源汇可行流的方式建图就好了 定义$d_i$为流入这个点的所有边的下界和减去 阅读全文
posted @ 2019-04-26 07:35 asuldb 阅读(241) 评论(0) 推荐(0) 编辑
摘要:"题目" 这题好神啊 我们发现一个球队的总比赛场数是确定的,设第$i$支球队一共进行了$s_i$场比赛 于是这个球队的收益就是$c_i\times x^2+d_i(s_i x)^2$ 我们拆开柿子可以发现$c_ix^2+d_ix^2+d_is_i^2 2xs_id_i$ 我们拿出和$x$有关的项来发 阅读全文
posted @ 2019-04-25 10:58 asuldb 阅读(122) 评论(0) 推荐(0) 编辑
摘要:"题目" 回文自动机的板子题啦 还是先胡扯几句回文自动机是如何构建的吧,这个东西比$SAM$可是简单多了 回文自动机就是一棵树,树上每一个节点表示了一个回文串,由于一个字符串本质不同的回文子串个数不会超过字符串串长,所以回文树上总结点个数是线性的 这个回文自动机由下面几个东西构成 1. $fail[ 阅读全文
posted @ 2019-04-24 17:27 asuldb 阅读(198) 评论(0) 推荐(0) 编辑
摘要:"题目" 比较神仙的操作啊 首先先考虑一个串的做法,我们有两种:SA或SAM,其中SAM又有两种,拓扑图上的$dp$和$parent$上随便统计一下 显然这道题$SA$和$parent$树都不是很好搞啊,考虑求一下拓扑图上的路径总数 我们先对每一个串单独建一个$SAM$,每一个$SAM$都得到了一张 阅读全文
posted @ 2019-04-24 14:15 asuldb 阅读(382) 评论(0) 推荐(0) 编辑
摘要:"题目" 设我们最后的答案是$g_n$ 我们发现在最后竖着放一个$2\times 1$的,和横着放两个$1\times 2$的就可以区分开之前的方案了 所以如果仅仅使用$1\times 2$的块来填满$2\times n$的格子,方案数就是$fib_n$ 于是 $$g_n=g_{n 1}+g_{n 阅读全文
posted @ 2019-04-24 08:22 asuldb 阅读(190) 评论(0) 推荐(0) 编辑
摘要:"题目" 我竟然能做出九老师的组合计数题,尽管这题很呆 我们先考虑一个简单的问题,如果给定你要选出来的$m$张卡牌,如何做到攻击伤害最高 非常显然,因为保证了强化牌上的数字大于$1$,所以我们优先选择那些强化牌,毕竟最小的一张只能翻两倍的强化牌都要比选择攻击牌好;选完强化牌之后剩下的攻击牌自然是越大 阅读全文
posted @ 2019-04-23 19:11 asuldb 阅读(132) 评论(0) 推荐(0) 编辑
摘要:"题目" 大概已经掌握熟练码出$kdt$的技能了 发现距离子树根节点$x$不超过$l$的点可以用两种方式来限制,首先$dfs$序在$[dfn_x,dfn_x+sum_x)$中,深度自然也要满足$[deep_x,deep_x+l]$ 发现这变成了对一个子矩形染色同时询问单点颜色的题目 我们直接$kdt 阅读全文
posted @ 2019-04-23 17:02 asuldb 阅读(277) 评论(0) 推荐(0) 编辑
摘要:"题目" 不会,抄论文 这是一个非常牛逼的东西,叫做$anti$博弈,就是进行最后一次操作的人输 我们考虑一下这道题 显然如果石子个数都是$1$,那么有奇数堆石子先手必败,有偶数堆石子先手必胜 如果只有一堆石子大于$1$,如果当前是奇数堆石子,那么我们可以把这堆石子取到只剩下一个,如果是偶数堆石子, 阅读全文
posted @ 2019-04-23 15:55 asuldb 阅读(117) 评论(0) 推荐(0) 编辑
摘要:"题目" 这个题太妙啦 我们发现如果把一堆石子看成一个独立游戏的话显然是不可以的,因为这样的话游戏根本就不独立,于是就自闭了 我们发觉这个东西本质上还是一个$multi$博弈,只不过这里的单个游戏变成了每一个石子,石子在不停的分裂 我们设$sg_x$表示一个石子在第$x$堆的$SG$函数 如果$x= 阅读全文
posted @ 2019-04-23 15:05 asuldb 阅读(215) 评论(0) 推荐(0) 编辑
摘要:"题目" 显然这就是让我们在二维上数个点 如果没有强制在线就随便做啦,扫描线+主席树应该是最好的选择 但是现在强制在线并且卡了树套树的空间,于是只能上$kdt$了 我们还是维护一下每个子树分割出来的矩形的四个坐标 查询的时候发现如果当前整个子树都被查询的矩形包含,我们就直接加入答案 如果完全没有交, 阅读全文
posted @ 2019-04-23 11:47 asuldb 阅读(247) 评论(0) 推荐(0) 编辑
摘要:"题目" 这个题好像不是那样板子了 我们考虑维护一个有$k$个元素的小根堆,用来存我们当前找到的前$k$远点对 如果是暴力的话我们就直接暴力枚举点对,计算距离往这个小根堆里插就好了,非常显然,如果距离甚至小于小根堆的堆顶,我们就没有什么插入的必要了 考虑用$kdt$优化这个暴力,我们枚举每一个点,让 阅读全文
posted @ 2019-04-23 10:44 asuldb 阅读(265) 评论(0) 推荐(0) 编辑
摘要:"题目" 非常显然就是求一下距离每一个点曼哈顿距离最近的点和最远的点就好了 最远点非常好算,我们建完$kd tree$之后直接暴力就好了 找最近点的时候会有这样一个问题,就是自己找到了自己 所以我们需要像线段树那样,做一个单点修改,找到那个点的位置,把那个点的坐标修改成$(inf,inf)$,之后再 阅读全文
posted @ 2019-04-23 10:37 asuldb 阅读(217) 评论(0) 推荐(0) 编辑
摘要:"题目" $KD tree$做最近点对的复杂度好像是假的吧,怎么看也看不出来是$O(\sqrt{n})$啊 首先$KD tree$长得和平衡树还是很像的,每个节点都存储了一个$k$维空间上的点 但是$KD tree$的每一棵子树都是一个$k$维的空间,对于$2D tree$来说就是一个矩形 我们存好 阅读全文
posted @ 2019-04-23 10:32 asuldb 阅读(155) 评论(0) 推荐(0) 编辑
摘要:"题目" 这个$dp$出在普及都算水题吧 直接背包,$O(nms)$跑不满,非常稳 cpp include include include include include define re register define LL long long define max(a,b) ((a) (b)? 阅读全文
posted @ 2019-04-22 17:03 asuldb 阅读(248) 评论(0) 推荐(0) 编辑
摘要:"题目" 有点奇怪的题目 我们设$dp_i$表示经过$1$单位的光经过前$i$面镜子后变成了多少,也就是前$i$面镜子整体的透光率 设$f_i$表示倒着(即从第$i$面镜子到第$1$面镜子)射入$1$单位的光,反射出去的光为多少,或者说是这$i$面镜子整体的反光率 我们考虑如何求出$dp_i$和$f 阅读全文
posted @ 2019-04-22 16:54 asuldb 阅读(219) 评论(0) 推荐(0) 编辑
摘要:"题目" 我要是生在$bj$估计就凉了,一道$d1t1$做了$4h+$ 首先看到这个鬼畜的计算贡献的柿子 $$\prod_{i=1}^na_i^{\frac{b_i}{\sum_{j=1}^nb_j}}$$ $a_i$为第$i$个字符串的价值,$b_i$为第$i$个字符串出现的次数 我们显然需要取一 阅读全文
posted @ 2019-04-22 07:06 asuldb 阅读(112) 评论(0) 推荐(0) 编辑
摘要:"题目" 好像是个$multi$博弈的基本问题呢 $multi$博弈就是在原来的$Nim$游戏的规则上变成了一次可以把一堆石头分裂成更多堆石头 而且博弈论中的一个重要定理,可以把很多博弈都转化成$Nim$游戏的 在我们每次只能进行一次操作的时候,对于多个游戏的和,我们可以把单个游戏抽象成一堆个数为这 阅读全文
posted @ 2019-04-21 16:23 asuldb 阅读(155) 评论(0) 推荐(0) 编辑
摘要:"题目" 在去年R2众多毒瘤题中唯一显得清新的一道 看到下标反复$/2$的形式我们就可以想到完全二叉树,于是我们2就把题目转化成了 修改一些点的点权,使得一棵完全二叉树上所有长度为$k+1$的上行路径上点权和$mod\ m=0$ 现在就需要发掘一下题目的性质,首先是这棵完全二叉树的前$k+1$层,这 阅读全文
posted @ 2019-04-18 18:57 asuldb 阅读(190) 评论(0) 推荐(0) 编辑
摘要:"题目" 看到这种东西就应该往分块上想啊 发现对于一个跳跃能力比较辣鸡的$doge$可能会建出很多条边,但是对于那些跳跃能力比较强的$doge$却不会建出很多边 这提醒我们根号分治 对于一个跳跃能力大于$\sqrt{n}$的$doge$,我们直接暴力向其能扩展的的地方连边就好了,边权为跳过去的次数, 阅读全文
posted @ 2019-04-18 13:52 asuldb 阅读(189) 评论(0) 推荐(1) 编辑
摘要:"题目" 还是挺不错的题,首先你得看出来这是一个网络流 下面用$A_{i},C_{i}$来简记$A_{1,i},C_{1,i}$ 首先是$A\times B$,得到一个$1\times n$,之后减掉矩阵$C$,我们设得到的矩阵为$D$ 满足$D_j=\sum_{k=1}^nA_k\times B_ 阅读全文
posted @ 2019-04-18 08:56 asuldb 阅读(163) 评论(0) 推荐(0) 编辑
摘要:"题目" 两个$log$的树状数组套树剖? 我们对于给出的$n$个模式串建立$AC$自动机,之后对于每一个询问串直接丢上去匹配 如果这里是暴力的话,我们直接一路跳$fail$累加作为结束位置还没有被删除的点就好了 我们考虑一个快点的方式,树剖 把$fail$树建出来,直接在上面树剖维护就好了 由于只 阅读全文
posted @ 2019-04-18 07:28 asuldb 阅读(221) 评论(0) 推荐(0) 编辑
摘要:"题目" 看题解的时候才突然发现$zky$讲过这道题啊,我现在怕不是一个老年人了 众所周知矩阵树求得是这个 $$\sum_{T}\prod_{e\in T}w_e$$ 而我们现在的这个问题有些鬼畜了,给定一棵树,求和这棵树有$k$条公共边的生成树个数 我们如何区分出和原生成树有几条边呢,容斥显然不是 阅读全文
posted @ 2019-04-17 17:45 asuldb 阅读(202) 评论(0) 推荐(0) 编辑
摘要:"题目" 我们都知道矩阵树求得实际是 $$\sum_{T}\prod_{e\in T}w_e$$ 现在有一个简单的问题,给定一张带权图,要求所有生成树边权积的和,这个怎么求 很简单我们还是构造两个矩阵$A,B$ 对于图中的每一个点$u$,记$d_u$为和这个点相连的边权和,那么$a_{u,u}=d_ 阅读全文
posted @ 2019-04-17 15:13 asuldb 阅读(142) 评论(0) 推荐(0) 编辑
摘要:"题目" 这题好熟练啊 看到恰好想容斥这非常熟练吧 又发现数据范围这么小,显然是允许我们$2^n$暴力容斥的 于是我们枚举一个二进制状态$S$,我们只使用包含在$S$这个状态里的公司的边,我们这样求出的就是至少有$n |S|$个公司没有修建的方案数,容斥系数显然是$( 1)^{n |S|}$ 至于这 阅读全文
posted @ 2019-04-17 14:05 asuldb 阅读(257) 评论(0) 推荐(0) 编辑
摘要:"题目" 我还是太傻了 考虑每一条边的贡献,对于一条有向边$(u,v,w)$,我们求出$k$个关键点中到$u$最近的距离$dis_1$,以及$v$到$k$个关键点中最近的距离$dis_2$,直接用$dis_1+w+dis_2$来更新答案就好了 所以正反两遍$Dij$就好 但是需要注意到一点,如果这两 阅读全文
posted @ 2019-04-17 07:35 asuldb 阅读(420) 评论(0) 推荐(0) 编辑
摘要:"题目" 确定这不是思博题 看起来很神仙,本来以为是$[LNOI2014]LCA$的加强版,结果发现一个点的贡献是$s_i\times (deep_i^k (deep_i 1)^k)$,$s_i$就是这个点的子树内部$1$到$x$点的数量 我们发现我们在树剖的时候利用后面那个东西就能来更新答案和打标 阅读全文
posted @ 2019-04-16 20:21 asuldb 阅读(298) 评论(0) 推荐(0) 编辑
摘要:"题目" 思博状压写不出是不是没救了呀 首先我们直接状压当前最大独立集的大小显然是不对的,因为我们的答案还和我们考虑的顺序有关 我们发现最大独立集的个数好像不是很多,可能是$O(n)$级别的,于是我们考虑从这个方面入手 我们求出所有的最大独立集,考虑求出有多少种考虑顺序能够恰好得到这个最大独立集 设 阅读全文
posted @ 2019-04-16 08:20 asuldb 阅读(239) 评论(0) 推荐(0) 编辑
摘要:"题目" 广西和贵州的省选?好像很神仙的样子啊 之后发现这是一道水题 我们显然应该拆位考虑 显然我们应该对于每一位都拆一下看看这一位是$0/1$ 显然我们如果找到一个全是$1$的矩阵,那么这一位的$and$和不为$0$,否则就是$0$ 对于$or$和,我们只需要求出全是$0$的矩阵,之后拿总矩阵数量 阅读全文
posted @ 2019-04-15 20:06 asuldb 阅读(423) 评论(1) 推荐(0) 编辑
摘要:"题目" 这道题挺显然的吧 我们设$dp_{x,k}$表示$x$这个点的权值为$k$的概率是多少 我们注意到到题目里保证了权值不重复 于是我们可以把转移写成 $$dp_{x,k}=(p_x\sum_{i=1}^{k 1}dp_{ls,i}+(1 p_x)\sum_{i=k+1}^mdp_{ls,i} 阅读全文
posted @ 2019-04-15 08:50 asuldb 阅读(161) 评论(0) 推荐(0) 编辑
摘要:"题目" 这个题让我们求的就是这个柿子 $$\sum_{i=1}^n\sum_{j=1}^m[i\perp j][j\perp k]$$ 非常简单啊,$i\perp j$保证了$\frac{i}{j}$是一个最简分数,$j\perp k$保证$\frac{1}{j}$是一个无限不循环小数 于是我们要 阅读全文
posted @ 2019-04-14 17:43 asuldb 阅读(370) 评论(0) 推荐(0) 编辑
摘要:"题目" 二轮毒瘤题啊 辣鸡洛谷竟然有卡树剖的数据 还是$loj$可爱 首先这道题没有带修,设$dp_{i,j}$表示以$i$为最高点的连通块有多少个异或和为$j$,$g_{i,j}=\sum_{k\in Tree(i)}dp_{k,j}$ ($k\in Tree(i)$表示$k$在$i$子树内部) 阅读全文
posted @ 2019-04-12 20:09 asuldb 阅读(216) 评论(0) 推荐(0) 编辑
摘要:"题目" 就当那个判断一个州不合法的条件是存在欧拉回路吧 一张无向图存在欧拉回路的条件是 1. 图连通 1. 不存在度数为奇数的点 于是我们枚举每一个子集,可以在$O(2^nn^2)$的时间内判断一个集合是否能独立成为一个州 之后我们设$dp_i$表示选取状态为$i$的时候的答案,$s_i$为这个状 阅读全文
posted @ 2019-04-11 20:42 asuldb 阅读(234) 评论(0) 推荐(0) 编辑
摘要:"题目" 好吧,我连板子都不会了 有一个非常显然的做法就是$O(2^nm)$做法就是枚举每一行的状态,之后我们贪心去看看每一列是否需要翻转就好啦 显然这个做法非常垃圾过不去 首先我们发现每一列都不超过$20$,考虑把每一列都压成一个状态 我们考虑设一些奇怪的东西 设$g_i$表示行的翻转状态为$i$ 阅读全文
posted @ 2019-04-11 15:51 asuldb 阅读(191) 评论(0) 推荐(0) 编辑
摘要:"题目" 提供一个非容斥做法——$FWT$ 我们发现我们要求的东西就是一个背包,只不过是在$and$意义下的 自然有 $$dp_{i,j}=\sum_{k\&a_i=j}dp_{i 1,k}+dp_{i 1,j}$$ 我们发现这个柿子本质上就是一个和卷积 于是两边取$fwt$,我们就可以得到一个暴力 阅读全文
posted @ 2019-04-11 10:19 asuldb 阅读(282) 评论(0) 推荐(0) 编辑
摘要:"题目" 根据我为数不多的博弈知识我发现需要求多少种方案使得异或和为$0$ 非常显然就是构造出那个质数多项式$F$,答案就是$F^n(0)$,当然这里是异或卷积 于是美滋滋的敲上去一个多项式快速幂,发现$T$了 于是仔细一想,发现我们根本没有必要多项式快速幂,我们直接把$F$做一个$fwt$,之后对 阅读全文
posted @ 2019-04-10 21:52 asuldb 阅读(132) 评论(0) 推荐(0) 编辑
摘要:"板子" 背板子.jpg $Fwt$用于解决这样的问题 $$C_i=\sum_{j\bigoplus k=i}A_j\times B_k$$ 其中$\bigoplus$是一种二元运算符,如$or,and,xor$ 首先我们直接做复杂度显然高达$4^n$,或许可以利用一些枚举子集的技术做到$3^n$, 阅读全文
posted @ 2019-04-10 21:09 asuldb 阅读(183) 评论(0) 推荐(1) 编辑
摘要:"题目" 好神的题啊 我们发现我们求这个东西如果常规$dp$的话可以建出一张拓扑图来,但是边的级别高达$3^n$,转移的时候还要解方程显然不能通过本题 我们考虑神仙的$min max$容斥 设$Emax(S)$表示集合$S$中最晚出现的那个自己出现的期望时间,$Emin(S)$表示集合$S$最早出现 阅读全文
posted @ 2019-04-10 19:23 asuldb 阅读(128) 评论(0) 推荐(0) 编辑
摘要:"题目" 发现一个人如果最终拿走了$k$个点,那么这个人的答案就是 $$\frac{\binom{n 2}{k 2}\sum_{i=1}^{n}\sum_{j=1}^{n}[dis(i,j)\in M]}{\binom{n}{k}}$$ 考虑每一个点对对答案的贡献,我们枚举一个点对,之后对于剩下的$ 阅读全文
posted @ 2019-04-10 14:17 asuldb 阅读(171) 评论(0) 推荐(0) 编辑
摘要:"题目" 总算知道欧拉序和树上莫队是个什么东西了 看到这个计算贡献的方式不禁想到了莫队 带修莫队非常$naive$就是多加一维时间 来讲讲树上莫队 如果我们需要子树莫队的话,我们可以直接用$dfs$序把子树转化成一段区间 但是树上的一条路径显然不是很方便这样做了 于是我们考虑使用欧拉序 欧拉序就是在 阅读全文
posted @ 2019-04-10 10:19 asuldb 阅读(175) 评论(0) 推荐(0) 编辑
摘要:"题目" 发现带修莫队就是一个不优美的莫队$trick$ 我们发现我们的莫队现在有了单点修改 那么我们对于一个询问就表示成一个三元组$(l,r,t)$,第三维是时间 我们预处理出每一个询问距离在他之前距离他最近的修改操作 最优分块大小是$n^{\frac{2}{3}}$ 排序的话如果左端点不在同一个 阅读全文
posted @ 2019-04-09 21:51 asuldb 阅读(166) 评论(0) 推荐(0) 编辑
摘要:"题意" 我们想到一个贪心,就是每次找到根路径前缀和最大的一个点,取走这条路径,同时把这条路径上的点权变成$0$ 正确性显然 进一步发现我们需要从树上选择$m$条链使得链的总和最大 于是我们考虑换上长链剖分,长儿子定义为往下走点权最大的儿子,每次把最长的路径取走就好了 来一个堆维护一下就好了 代码 阅读全文
posted @ 2019-04-09 19:55 asuldb 阅读(169) 评论(0) 推荐(0) 编辑
摘要:"题目" 我太傻了,我竟然能搞错容斥系数 首先会发现一个直接状压的做法,就是设$dp[i][j][S]$表示点映射的点是$j$,在$i$的子树里用的点的集合是$S$ 转移怕不是需要枚举子集,复杂度大概$O(3^nn^2)$吧 显然不能过啊 我们考虑容斥 我们设$dp[i][j]$表示点$i$映射到点 阅读全文
posted @ 2019-04-09 18:55 asuldb 阅读(261) 评论(0) 推荐(0) 编辑
摘要:题目 抄题解.jpg 发现原来的\(O(n^2)\)的换根\(dp\)好像行不通了呀 我们考虑非常牛逼的长链剖分 我们 设\(f(x,j)\)表示在\(x\)的子树中距离\(x\)为\(j\)的点有多少个,\(g(x,j)\)表示在\(x\)的子树里,满足如下条件的点对\((u,v)\)的个数: 设 阅读全文
posted @ 2019-04-09 16:42 asuldb 阅读(176) 评论(0) 推荐(0) 编辑
摘要:"题目" 长链剖分板子题啊 长链剖分有几个神奇的性质 1. 所有长链的总点数为$n$ 1. 任意一个点的$k$级祖先所在长链的长度肯定不小于$k$ 1. 从任意点到根经过的短边数量不超过$\sqrt{n}$,也就是用长链剖分求$LCA$是根号复杂度的。。 最后一个性质是这样的,从一个点往上经过一条短 阅读全文
posted @ 2019-04-09 09:49 asuldb 阅读(192) 评论(0) 推荐(0) 编辑
摘要:"题目" 好像考场上稍微想一下就是正解了 首先看看具有启发性的链 先来说一说的我的思博贪心 我们把这条链上的点分成在$1$的左边还是右边,左右两边都用一个$set$来维护 之后我们将权值整体排序,每次拿出最大的那一个点来,去对面的链上找一个不大于它的最大的点,删掉对面的这个点 看起来非常假,但是其实 阅读全文
posted @ 2019-04-08 17:08 asuldb 阅读(445) 评论(0) 推荐(1) 编辑
摘要:"题目" 其实是一道熟练的套路题啊 之后我由于树上倍增没加$1$而熟练保龄 首先$SA$做这道题是肯定可以的,我们二分+$St$表就可以求出每一个$B$串的扩展区间(就是这个区间内的后缀和这个串的$lcp$都大于等于这个串的长度),之后直接主席树优化建图就好了 之后就会收获$TLE$的好成绩 显然我 阅读全文
posted @ 2019-04-08 14:20 asuldb 阅读(246) 评论(0) 推荐(0) 编辑
摘要:差点退役,真是开心 Day 2 吐了一晚上,差点死掉 被拉去医院打针,结果蛇皮的被扎了两针,真是好疼啊嘤嘤嘤 决定第二天在家里咕一天 Day 1 结果在家里也得做$loli$昨天的不知道从哪里$py$的模拟题 让我来看看这是个什么神仙题 结果三题不会,非常自闭 $t1$暴力修改直接走人,$t2$由于 阅读全文
posted @ 2019-04-08 09:48 asuldb 阅读(695) 评论(11) 推荐(0) 编辑
摘要:"题目" 这题好妙啊 首先发现这是一道可怜题,又发现这道题是$t3$,而且还是数据结构,怎么看都不是很可做的样子 但是事实上这就是最可做的那一道题啊 我们先胡乱发现一下,发现肯定存在某一个位置,这个位置左边的人都往右跑,这个位置右边的人都往左跑 这非常显然啊,因为一旦另这个位置左边的一个人跨过这个位 阅读全文
posted @ 2019-04-02 21:14 asuldb 阅读(177) 评论(0) 推荐(0) 编辑
摘要:"题目" 我好菜啊,嘤嘤嘤 原来本地访问数组负下标不会报$RE$或者$WA$,甚至能跑出正解啊 这道题还是非常呆的 我们发现$k$很小,于是断定这是一个树上背包 发现在一个点上安装控制器并不能控制这个点,可能需要到父亲那边才能控制这个点,于是我们设$dp[i][j][0/1][0/1]$表示在以$i 阅读全文
posted @ 2019-04-02 17:47 asuldb 阅读(131) 评论(0) 推荐(0) 编辑
摘要:"题目" 还以为是序列自动机真是吓人 发现一个非常显然的事情,因为我们要的是$A...B...C$,$A$一定要成为前缀,$C$一定要成为后缀,于是我们发现我们需要让$A$尽量靠前$C$尽量靠后 一是因为这样$A$和$C$去掉的位置尽量少,二来能留给$B$更多的空间 这里直接贪心就好了,先选择$A$ 阅读全文
posted @ 2019-04-02 11:32 asuldb 阅读(189) 评论(0) 推荐(0) 编辑
摘要:"题目" 我记得慎老师教过我这个结论,关于判断组合数的奇偶性 先搬出$Lucas$ $$\binom{n}{m}\equiv \binom{n/2}{m/2}\times \binom{n\%2}{m\%2}\ (mod\ 2)$$ 发现反复$/2$就相当于转化成二进制来考虑 考虑后面的$\bino 阅读全文
posted @ 2019-04-01 11:38 asuldb 阅读(183) 评论(0) 推荐(0) 编辑