上一页 1 ··· 38 39 40 41 42 43 44 45 46 ··· 63 下一页
摘要: "题目" 终于去写$LCT$了 "这个大爷讲的挺好的" 板子 cpp include include include include define maxn 300005 define re register define LL long long define max(a,b) ((a) (b)? 阅读全文
posted @ 2019-02-12 18:52 asuldb 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 还有这么板子的题? 和你谷上后缀自动机的板子基本一样,区别就是之后这个位置是$0$才计入贡献 代码 cpp include include define maxn 400005 define re register define LL long long define max(a,b) ((a) ( 阅读全文
posted @ 2019-02-12 16:51 asuldb 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 厚颜无耻的发一篇可能是全网最劣解法 我们发现要求给定的串所有不同的循环同构出现的次数,可以直接暴力啊 因为一个长度为$n$的串,不同的循环同构次数显然是不会超过$n$的,所以我们可以直接对每一个循环通过分别求一下其出现次数 求其出现次数当然可以交给$SAM$来搞了 于是我们把所有的串都插入$SAM$ 阅读全文
posted @ 2019-02-12 16:37 asuldb 阅读(205) 评论(0) 推荐(0) 编辑
摘要: "题目" 直接线段树合并就好了 之后在线段树上二分贪心选取金额较少的 如果是左偏树的话就开一个大根堆,根和子树顺次合并,合并之后堆内所有元素总和如果大于$m$就删除堆顶,由于每个元素只会被删除一次,所以复杂度非常科学 代码 cpp include include include include de 阅读全文
posted @ 2019-02-12 14:30 asuldb 阅读(169) 评论(0) 推荐(0) 编辑
摘要: "题目" 多了区间翻转,之后没了 区间翻转的标记记得在$kth$的时候下传 代码 cpp include include include include define maxn 2100005 define re register int n,m,root,len,pos=1; char val[m 阅读全文
posted @ 2019-02-12 13:11 asuldb 阅读(170) 评论(0) 推荐(0) 编辑
摘要: "题目" 发现这样一句话就会导致$T$ 并不是很知道为什么,可能这是某种未定义行为在不同编译器下会有不同后果? 至于这道题就很简单了,几个有关光标位置的操作就用一个变量模拟就好了 插入的话把这个位置转出来构造一棵完美$splay$插入就好了 删除直接转出区间断开的父亲的链接 输出直接转出区间中序遍历 阅读全文
posted @ 2019-02-12 12:25 asuldb 阅读(230) 评论(0) 推荐(0) 编辑
摘要: "题目" 发现是顺次插入的,于是很好做 设$dp_i$表示$i$结尾的$LIS$,每次插入一个数找到之前的最大的$dp_j$加一就好了 至于如何找到这个元素应该在的位置,可以考虑类似区间提取的方法 如何要在$x$位置后面插入一个元素的话我们就先将$x$转到根,$x+1$转成根的右儿子,$x+1$的位 阅读全文
posted @ 2019-02-11 21:21 asuldb 阅读(137) 评论(0) 推荐(0) 编辑
摘要: "题目" 刚开始并没有看懂题意于是痛苦的挣扎了好久 题意是这样的 问$[l,r]$有多少对$(i,j)$满足$a_i$和$a_j$恰好是$a_i...a_j$中严格最大的两个数 强制在线 先考虑$a_j$是$a_i...a_j$严格第二大的那一个 我们可以一个单调栈扫过去找到$j$之前第一个大于等于 阅读全文
posted @ 2019-02-11 16:19 asuldb 阅读(156) 评论(0) 推荐(0) 编辑
摘要: "题目" 发现需要一个$O(n\sum a_i )$的做法 于是可以直接做一个背包,$dp[i]$表示和为$i$的子集是否有奇数种 $bitset$优化一下就好了 cpp include include include include include define maxn define re re 阅读全文
posted @ 2019-02-11 16:08 asuldb 阅读(276) 评论(0) 推荐(0) 编辑
摘要: "题目" 看着有点可怕 求 $$\sum_{i=1}^{n!}[(i,m!)=1]$$ 考虑一下$m=n$的时候的答案 非常显然就是$\varphi(m!)$ 而如果$n m$ 非常显然$m!|n!$ 可以把$n!$想象成一个大数轴,将这个大数轴分成$\frac{n!}{m!}$部分,每一部分都有$ 阅读全文
posted @ 2019-01-31 16:57 asuldb 阅读(166) 评论(0) 推荐(0) 编辑
上一页 1 ··· 38 39 40 41 42 43 44 45 46 ··· 63 下一页