摘要: #个人模板 ##算法 ###【模板】快速幂 #include<iostream> #include<algorithm> #include<string> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> usi 阅读全文
posted @ 2020-11-04 22:43 LZShuing 阅读(166) 评论(1) 推荐(1) 编辑
摘要: #树上启发式合并 在做一类离线,答案与子树贡献有关的树上统计问题时暴力做法需要dfs,依次处理每个子结点,并在回溯时判断是否满足要求,然后清空避免对其兄弟节点产生影响,这会使时间复杂度退化至 \(O(N^2)\)。 考虑优化,我们发现在dfs时x的最后一个子节点不需要清空,它的贡献可以直接加入x的答 阅读全文
posted @ 2020-10-24 13:58 LZShuing 阅读(133) 评论(0) 推荐(0) 编辑
摘要: #点分治 点分治是一种处理树上统计问题的算法。 由于代码较长,本文的代码都放在了这里。 ##静态点分治 先谈一类“静态的”树上路径统计问题(即不对路径进行修改)。 ###思想 通过一道例题来理解这种问题的思路: \(\mathbf{P4178\;Tree}\) 给一棵有 \(N\) 个点的无根树,每 阅读全文
posted @ 2020-08-20 12:05 LZShuing 阅读(87) 评论(0) 推荐(0) 编辑
摘要: #\(\mathbf{P1360}\) 题解 ##思路 设$sum[t][i]$为截至第t天第i项能力的提升总次数。 由题意可知一个时期为均衡时期$[t_1,t_2]$,当且仅当 $\forall;1\leq i \leq m,sum[t_2][i]-sum[t_1-1][i]$都相等。 由上,对于 阅读全文
posted @ 2020-08-12 17:57 LZShuing 阅读(129) 评论(0) 推荐(0) 编辑
摘要: #\(\mathbf{POJ\;2432}\)题解 ##题意 给出圆上的$N$个点,每个点有一个经度(大于$0$小于$360$);再给出$M$条双向边,保证边$x y$仅会沿圆上较短的弧连接,且不存在边连接圆上相对的两个点的情况。 求一条从点$1$出发最后回到点$1$,且能环绕圆的经过点数最少的路径 阅读全文
posted @ 2020-07-30 11:12 LZShuing 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2020-07-25 23:04 LZShuing 阅读(1117) 评论(0) 推荐(0) 编辑
摘要: #\(\mathbf{P3469}\) 题解 一道比较容易的紫题。 ##题意 给出一张有$n$个点,$m$条边的无向连通图,问对于每个节点$i$,去掉与$i$相连的所有边后,有多少对有序点对$(x,y)$不再连通。 ##分析 根据割点的定义可知,若$i$不为割点,则只有剩下的$n-1$对点不与$i$ 阅读全文
posted @ 2020-07-14 17:55 LZShuing 阅读(100) 评论(0) 推荐(0) 编辑
摘要: #树状数组(下) 在树状数组(上)中我提到了树状数组的基本操作与变式,现在来看看它的实际应用和一些题目。 ##应用 ###逆序对 设$a$为一个有$n$个数字的有序集(\(n>1\)),其中所有数字各不相同。 如果存在正整数$i$,$j$使得$1\leqslant i<j\leqslant n$且$ 阅读全文
posted @ 2020-04-05 21:53 LZShuing 阅读(346) 评论(1) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2020-03-27 22:50 LZShuing 阅读(776) 评论(3) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2020-03-20 23:42 LZShuing 阅读(452) 评论(0) 推荐(0) 编辑