摘要:
原题链接:AtCoder F - Parenthesis Checking 一个全由$'('\(和\)')'$构成的字符串,由以下两个操作: 1 l r交换字符串第$l$个和第$r$个字符。 2 l r询问$S[l-r]$是否是一个合法序列。 很明显是一个线段树操作,这题蓝桥杯貌似有类似的,但是那道 阅读全文
摘要:
本博客的主要思路来源:树链剖分详解(洛谷模板 P3384)、OI Wiki 树链剖分 作用 简单点说,树链剖分就是将一棵树分成几条链,然后给它标号标成线性,然后处理区间问题: 将树的$x$点到$y$点最短路径上所有结点的值都加d 询问树的$x$点到$y$点的路径和 将以$x$为根的子树内所有值加$d 阅读全文
摘要:
原题链接:E - LEQ 思路: 题目要求对于从数组1~n找出所有符合开头数字小于等于结尾数字的子序列,\(A' = (A_1', A_2', ... , A_k')\),满足$A_1' \leq A_k'$,很显然,我们只需要找到任何一对$a_i \leq a_j$数对,然后它的贡献是$2^{j 阅读全文
摘要:
原题链接:CF1592C. Bakry and Partitioning 题意: 给定一个$n$个点,$n - 1$条边的树,并且每个点都有权值$w_i$,让你最少割掉一条边最多割掉$k - 1$条边使得划分后的子树异或和相等。 思路: 首先根据异或的交换律结合律得知:如果所有点的权值$\sum\n 阅读全文
摘要:
换根$DP$属于树形$DP$,是二次扫描,因为这类问题通常不会指定根结点,并且根节点的变化会对一些值,例如子结点深度和、点权和等产生影响。 通常需要二次$DFS$,第一次$DFS$来处理深度,以及点权和之类的问题,第二次$DFS$开始动态规划。 令$u$为当前结点,$v$为当前结点的叶子结点。首先需 阅读全文
摘要:
原题链接 Codeforces Global Round 16 E. Buds Re-hanging 首先想到,如果我们把一个$buds$挂到一个叶子上,那么会使得叶子总数减$1$。 还有就是如果我们可以把这个树搞成一条链,那么总叶子数一定是最少的,就是让树“越瘦越好”。 如果原来一个$buds$挂 阅读全文
摘要:
数位$DP$ 经过一天半的苦苦挣扎,真的很感谢\(Acwing \,\, yxc\)的讲解,终于感觉自己入门一些了。 数位$DP$通常是给定一个$[L,R]\(区间,让你求区间中满足题目要求的数的个数,然后我们只需要利用前缀和思想,分别求出\)[0, R]\(和\)[0, L]$的满足要求的数的个数 阅读全文
摘要:
原题链接:AcWing 240. 食物链 扩展域与边带权的并查集: 并查集实际上是由若干颗树构成的森林,我们可而一再数中的每条边上记录一个权值,即维护一个$d$,用$d[x]$保存节点$x$到父节点$fa[x]$之间的边权。每次路径压缩之后,每个访问过的节点都会直接指向树根,然后同时更新这些节点的$ 阅读全文
摘要:
原题链接AcWing 456. 车站分级 抽象出题意,停靠过的车站的等级一定严格大于为停靠过的车站的等级,且不存在环,例如车站$A$等级大于车站$B$,则$A >= B + 1$,不妨从$B$向$A$连一条边,表示等级关系,题目要求车站的最小等级中最大是多少,即求最长路,那这就是一个差分约束系统。 阅读全文
摘要:
对于无向图,所有边都是联通的: (1)存在欧拉路径的充分必要条件:度数为奇数的点只能有$0$个或$2$个,如果起点和终点后重合那么度数为奇数的点就只能有$0$个,否则就只能有两个。 (2)存在欧拉回路的充分必要条件:度数为奇数的点只能有0个。 对于有向图,所有边都联通: (1)存在欧拉路径的充分必要 阅读全文