把博客园图标替换成自己的图标
把博客园图标替换成自己的图标end
上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 45 下一页
摘要: 题面传送门 结合manacher的拓展过程以及复杂度证明可以知道,一个序列的本质不同回文串是$O(n)$个,并且每次拓展时会出现一个可能本质不同的字符串。 那么就把这个回文串扔到SAM上查出现次数就好了。时间复杂度$O(n\log n)$ 如果这样那也就不会有这篇题解了。 但是问题在于空间开不下。主 阅读全文
posted @ 2022-03-27 22:24 275307894a 阅读(41) 评论(0) 推荐(0)
摘要: 题面传送门 原来CF的机子是32位的,还可以手动切到64位,卡常把人卡傻掉了。 题目中要求最小值首先考虑$1$的位置,记为$i$,那么显然所有形如$[j,i](j\leq i)$的区间,最小值都在$i$,对于$[i,j](j\geq i)$也是如此。 然后考虑$[1,i]$区间内的第二小值,记位置为 阅读全文
posted @ 2022-03-25 22:06 275307894a 阅读(54) 评论(0) 推荐(0)
摘要: 题面传送门 这步根号是实在想不到。 考虑我们最优策略是什么,显然我们目的是消耗最多的动能,容易发现如果一对点直接有边并且高度相等,那么这对点是可以消耗掉目前为止所有动能的。 那么目的就是找到一个点能走到的点中高度最低的等高点$f_i$,那么答案就是$2h_i-f_i$。 正着做不太好做,考虑反过来, 阅读全文
posted @ 2022-03-24 22:11 275307894a 阅读(65) 评论(0) 推荐(0)
摘要: 题面传送门 大诈骗题。 发现对着题目中那个东西不太好想,所以考虑没有被点亮的点,发现如果满足题目中那个条件,那么没有被点亮的点构成一个包含1的联通块。 众所周知联通块个数等于点数减边数,然后就可以用这个东西开个线段树随便维护一下最小值就好了。 也不用LCT,只要两个点在a序列中的排名就好了。 时间复 阅读全文
posted @ 2022-03-21 22:30 275307894a 阅读(152) 评论(0) 推荐(0)
摘要: 题面传送门 首先你必须了解的是SG定理,设$f_S$为$S$状态对应的SG值,则设$S$可以到达的状态为$T$,则$f_S=\operatorname{mex}{f_T}$。 如果$S$能被划分成若干个互不影响的状态,记为$S1,S2,\dots,S_k$,则$f_i$为所有$f_{S_j}$的异或 阅读全文
posted @ 2022-03-20 18:38 275307894a 阅读(67) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2022-03-20 16:40 275307894a 阅读(0) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2022-03-20 16:29 275307894a 阅读(0) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2022-03-20 16:23 275307894a 阅读(0) 评论(0) 推荐(0)
摘要: 题面传送门 先来考虑$l=1,r=|S|$怎么做。 首先显然可以先跑个SA数数本质不同子串个数。 然后再对原串建一个SAM,容易发现就是将询问串在原串上面跑匹配,匹配完了以后就可以计算以当前节点为左端点有多少个右端点是不重复且在主串没出现过的。 然后如果询问变成一段区间了那么就线段树合并维护一下en 阅读全文
posted @ 2022-03-19 22:08 275307894a 阅读(46) 评论(0) 推荐(1)
摘要: 题面传送门 完全颠覆了我对于二进制分组的认知,本来以为那东西只能优化多重背包还被单调队列吊起来打来着。 首先这个题如果不强制在线可以发现就是个AC自动机sb题。 但是问题是它强制在线了,就有一些奇技淫巧来做。 首先显然可以对询问分块,但是有一个26的常数的根号显然跑不过去。 但是可以二进制分组呀。 阅读全文
posted @ 2022-03-19 13:14 275307894a 阅读(55) 评论(0) 推荐(0)
摘要: 题面传送门 首先最大值最小肯定想到二分。 然后二分相当于问一个区间是不是有$k$种颜色。 一个简单粗暴的想法就是树套树算有几种颜色,\(O(n\log^3n)\),能过就有鬼了。 发现如果后面有一个点的前驱在这个区间以前,那么一定有一种颜色没有出现过。 所以只要维护主席树维护后缀min,然后询问的时 阅读全文
posted @ 2022-03-18 20:45 275307894a 阅读(47) 评论(0) 推荐(0)
摘要: 题面传送门 如果做过这个dp套路的话感觉这题到不了黑? 显然可以先离散,然后求出分出来每一段的最大值。 因为一段的最大值中这个最大值没法放到更小的地方去,所以只能放在最大值为这个值的位置。 容易得到一段长度为$Len$的位置,要求最大值为$A$的方案数为$A^{Len}-(A-1){Len}$ 然后 阅读全文
posted @ 2022-03-18 16:31 275307894a 阅读(43) 评论(0) 推荐(0)
摘要: 题面传送门 感觉这道题比较屑? 首先考虑爆枚线段。 然后考虑两个线段能构成矩形的条件,大概就是中点相同并且圆半径相同。 然后这样的两个线段一定能构成一个矩形。 据说有个结论是矩形个数不超过$O(n2\sqrt n)$? 所以直接爆枚就好了。 但是实际上不用,因为要求的是最大,所以让夹角最大显然是最大 阅读全文
posted @ 2022-03-18 10:48 275307894a 阅读(43) 评论(0) 推荐(0)
摘要: 题面传送门 这个题之所以能黑不是因为它难想而是难写吧…… 这个东西名字叫广义线段树那看上去和线段树应该没啥大区别除了时间复杂度不大对之外。 考虑普通线段树的复杂度证明,就是一定有一个节点将这个区间从中间断开,然后两边分别是单侧递归的。 设$X$为$l-1$在线段树上的叶子节点,$Y$为$r+1$在线 阅读全文
posted @ 2022-03-18 09:41 275307894a 阅读(66) 评论(0) 推荐(0)
摘要: 题面传送门 因为每次有一轮打出一发就不打了的限制所以不能直接期望去算。 考虑一个点$i$之前如果打出了$j$个技能,无论这$j$个技能是啥,$i$这个点都会被打$r-j$次,这启发我们设$f_{i,j}$为$1$到$i$点打出$j$次的概率。 有了这个就可以算每个点被打出的期望了,根据期望的线性性直 阅读全文
posted @ 2022-03-17 15:24 275307894a 阅读(34) 评论(0) 推荐(0)
摘要: 题面传送门 首先我们考虑一个两个已经是点双的点集怎么合并。 显然是找到两条最小的且跨立的边连起来对吧。 但是你会发现其实不用两个都是点双,其中一个是,另一个只要是链,然后那两条边连两个端点即可。 所以可以先一遍做出$f_{i,x,y}$表示$i$点集构成的链,$x,y$为端点的最小值。 然后再dp出 阅读全文
posted @ 2022-03-17 14:06 275307894a 阅读(59) 评论(0) 推荐(0)
摘要: 题面传送门 终究还是太菜了,赛时没冲出来不说了,到最后搭了个拍才发现自己错在哪里。 看上去这种异或题肯定是扔到Trie上去。然后看上去就是个先确定前多少位相同,然后一位$1$变成$0$然后随便算? 设$f_{u}$为Trie上$u$这个点的子树内的答案,然后发现好像不太好算? 因为如果$x$这一位为 阅读全文
posted @ 2022-03-16 18:02 275307894a 阅读(64) 评论(0) 推荐(0)
摘要: 题面传送门 因为有50pts都是$k=n$所以先考虑这个。 考虑从后往前扫,如果扫到当前点发现当前点是亮的,那么当前点一定会操作一次,因为前面的点操作不到当前这个点。这样可以做出最小的步数。 然后交上去就有80pts了( 观察这个东西不难发现一个性质:如果$i$在最优方案中没有被按到但是我按了,那么 阅读全文
posted @ 2022-03-15 12:42 275307894a 阅读(56) 评论(0) 推荐(0)
摘要: 题面传送门 这个$k$这么小看上去一脸状压dp 序列操作可以差分。那么原来的问题就被转化为序列上有$2k$个点,可以花费$1$的代价将一对长度固定的点消掉。问最小的代价。 然后就可以状压dp,先对每个点跑一遍bfs算出以这个点和剩下点消掉的最小代价,然后状压时可以钦定当前操作一定操作未被操作中编号最 阅读全文
posted @ 2022-03-14 21:31 275307894a 阅读(39) 评论(0) 推荐(0)
摘要: 题面传送门 先看第一问,设$f_i$为$i$次操作后的深度总和。 考虑选择一个点让它扩展,那么得到的叶子节点的期望深度就是$\frac{f_{i}}{i+1}+2$,就可以$O(n)$解决问题了。 再看第二问,设$f_{i,j}$为$i$次操作,深度为$j$的概率。 枚举左边子树的操作数$k$,再枚 阅读全文
posted @ 2022-03-13 20:51 275307894a 阅读(43) 评论(0) 推荐(0)
摘要: 题面传送门 这种删边的东西看上去一脸不可做,肯定要反过来加边。 但是问题是反过来你又不知道哪些点被删了。 看上去可以启发式分裂,但是两个log又只有1.5s看上去就被出题人针对。 又有一个套路是跑删边时间的最大生成树,每次删掉树上一条边,看上去可以简单一点。变成树上的联通块问题。 这种联通块类似问题 阅读全文
posted @ 2022-03-13 14:22 275307894a 阅读(28) 评论(0) 推荐(0)
摘要: 题面传送门 为啥没人写好想又好写的 \(O(n\log n)\) 做法呢? 观察这个操作的实质实际上就是让 \(x\) 子树内的点到 \(x\) 点路径中离 \(x\) 点最近的白点变黑,如果没有白点则不操作。如果设 \(b_i\) 为 \(i\) 点到根路径上的白点数,则这一操作相当于先区间减一, 阅读全文
posted @ 2022-03-12 22:42 275307894a 阅读(26) 评论(0) 推荐(0)
摘要: 题面传送门 看上去像THUPC的签到题。 首先考虑一个$O(n\ln n)$的暴力,就是先枚举一个长度,然后往后暴力倍增,如果不能倍增就直接跳出。如果能到序列末尾那么这个东西就是可行的。 如何判可行大概就是manacher求个回文就好了。 然后发现对于$i>\frac{n}{2}$只需要倍增一次,剩 阅读全文
posted @ 2022-03-11 22:01 275307894a 阅读(49) 评论(0) 推荐(0)
摘要: 题面传送门 题目中怎么不说明这个可以取空区间啊害我调半天。 这个重复的算一次就容易想到区间数颜色的相关套路,就是每个点记录前面最近的点。 离线询问然后扫描线,记录线段树上每个位置的值为到当前点的区间的和,那么需要做的就是两种操作: 将上一个这个数的出现位置+1到现在的位置都加上一个数。 查询区间历史 阅读全文
posted @ 2022-03-10 16:01 275307894a 阅读(29) 评论(0) 推荐(0)
摘要: 题面传送门 当时好像以为巨大多难写所以扔了,然后发现好像很好写来着? 首先这个答案肯定小于等于2,因为如果有至少一个偶数,那么对那个奇数做一次就连到一起了。如果两个都是奇数那么最多对两个分别做一次就好了。 那么只要看答案是不是$0$与$1$,如果不是那么答案一定为$2$。 答案是$0$很好算,只需要 阅读全文
posted @ 2022-03-10 15:10 275307894a 阅读(40) 评论(0) 推荐(0)
上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 45 下一页
浏览器标题切换
浏览器标题切换end