摘要: "传送门" 解题思路 首先可以想到要预处理一个$nxt_i$和$pre_i$,表示前后与当前位置权值相同的节点,那么这样可以迅速算出某个点在某段区间是否出现多次。然后这样的话就考虑分治,对于$[L,R]$来说,如果当前点$i$满足$nxt_i R$,$pre_i include include in 阅读全文
posted @ 2019-01-21 22:48 Monster_Qi 阅读(219) 评论(0) 推荐(0) 编辑
摘要: "传送门" 解题思路 弦图就是图中任意一个大小$ =4$的环至少存在一条两个节点不相邻的边,这样的图称为弦图,弦图有许多优美的性质。一个无向图是弦图当且仅当它有一个完美消除序列,完美消除序列就是一个点的排列满足$v_i$与$v_{i+1}..v_n$之间所有的边连上后的图是一个团。用最大势算法可以在 阅读全文
posted @ 2019-01-21 20:26 Monster_Qi 阅读(222) 评论(0) 推荐(0) 编辑
摘要: "传送门" 解题思路 平面图转对偶图,然后跑最短路。 代码 cpp include include include include include include include using namespace std; const int N=1405; inline int rd(){ int 阅读全文
posted @ 2019-01-21 16:01 Monster_Qi 阅读(134) 评论(0) 推荐(0) 编辑
摘要: "传送门" 解题思路 看到度数和生成树个树,可以想到$prufer$序,而一张规定度数的图的生成树个数为$\frac{(n 2)!}{\prod\limits_{i=1}^n(d(i) 1)!}$。而这道题有的度数没有限制,那就设有度数限制的点的个数为$num$,$\sum (d_i 1)$为$su 阅读全文
posted @ 2019-01-21 14:28 Monster_Qi 阅读(123) 评论(0) 推荐(0) 编辑
摘要: "传送门" 解题思路 以每个颜色为根开一棵权值线段树,下标就是$dfs$序,其余都是基本操作,要动态开点。 代码 cpp include include include include include using namespace std; const int N=100005; const in 阅读全文
posted @ 2019-01-21 11:03 Monster_Qi 阅读(166) 评论(0) 推荐(0) 编辑