随笔分类 - 数据结构---单调栈/单调队列
摘要:CSP2019题解 格雷码 按照生成的规则模拟一下即可。 "代码" 括号树 看到括号匹配首先想到用栈,然后又在树上就可以想到可追溯化栈。 令$a_i=1$表示$i$号节点上的括号为 ,否则为 , 记栈为$stk$,其中元素个数为$top$。 设$f_i$表示加上节点$i$所对应的括号所增加的贡献,$
阅读全文
摘要:【LG3722】[HNOI2017]影魔 题面 "洛谷" 题解 先使用单调栈求出$i$左边第一个比$i$大的位置$lp_i$,和右边第一个比$i$大的位置$rp_i$。 考虑$i$对答案的贡献,当且仅当$i$作为区间$[x+1,y 1]$的最大值时,$i$才对点对$(x,y)$有贡献。 根据题意,第
阅读全文
摘要:题面 "洛谷" 题解 勘误:新的休息点a需要满足的条件2为那一部分小于等于ans 代码 $100pts$ cpp include include include include include include using namespace std; inline int gi() { regist
阅读全文
摘要:【BZOJ4566】[HAOI2016]找相同字符 题面 给定两个字符串,求出在两个字符串中各取出一个子串使得这两个子串相同的方案数。两个方案不同当且仅当这两个子串中有一个位置不同。 其中$1\leq|s1|,|s2|\leq n$ 题解 其实和 "这题" 差不多。 根据后缀数组常用套路,将将$s1
阅读全文
摘要:【BZOJ3238】[AHOI2013]差异 题面 给定字符串$S$,令$T_i$表示以它从第$i$个字符开始的后缀。求 $$ \sum_{1\leq i include include include include include using namespace std; inline int
阅读全文