图论
小青WA
扣扣1916493526
展开
-
hdu6547 2019CCPC女生专场 树链剖分+势能线段树
题意:给出一棵树op = 0求u到v链上的和 op = 1将u到v链上所有元素开根向下取整 树链剖分模板 +势能线段树(势能线段树大佬博客) #include<cstdio> #include<iostream> #include<algorithm> #include<cstring> #include<cmath> using namespace std; const int MaxN = 1e5 + 5; typede...原创 2020-10-13 20:33:47 · 154 阅读 · 1 评论 -
树链剖分模板
模板 #include<cstdio> #include<iostream> #include<algorithm> #include<cstring> #include<cmath> using namespace std; const int MaxN = 1e5 + 5; struct edge{ int next,to; }e[2 * MaxN]; struct Node{ int sum,lazy,l,r; }a[4 * M.原创 2020-07-08 08:42:34 · 160 阅读 · 0 评论 -
HDU3839 最小生成树
题意 n个点(1e4),m边(5e4),q(1e4)询问,m行abc ->点a到点b的边权为c,查询每次一个L(1e8),问你有多少个点对之间经过的路线的最大边权c<=L 思路 kruskar一条边一条边的combine,每次更新cur(到加入当前边现有满足符合的点对数)cur += tt[a] * tt[b],然后合并a和b。 ACcode #include<cstdio> #include<iostream> #include<algor...原创 2020-05-30 21:40:41 · 175 阅读 · 0 评论 -
gym100502 G - Outing (tarjan+分组背包)
题意 一辆车容量为V,现有n个人,每个人都有一个对应a[i],表示只有a[i]上车i才肯上车,问这辆车最多承载多少人。 思路 由于a[i]和i的对应关系可能存在树或者环或者环连着链->树 三种情况,我们可以得知如果存在环这个环必然是所在树的树根。 因此对图求强连通分量,每个树所采纳的人数的【下限——树根的辣个强连通分量,上限——全部】,然后对这些树做分组背包求容量V以内的最大人数。 ACcode #include<cstdio> #include<ios...原创 2020-05-27 20:14:29 · 261 阅读 · 0 评论 -
codeforces 427C tarjan模板题
题意: 给你n个点每个点修建警察局的cost 对于这张图来说,与警察局在同一强联通分量里的每个点都可以被这个警察局照看 问你最小cost以及当前cost的方案数 思路: tarjan模板题~~~ (特别鸣谢磊哥哥的倾情授课ლ(°◕‵ƹ′◕ლ)) AC代码: #include<cstdio> #include<iostream> #include<alg...原创 2020-01-18 00:39:59 · 724 阅读 · 0 评论 -
2018icpc Nanjing I. Magic Potion(gym101981) [二分图]
题目: 给n(heroes)m(monsters) k(magic) 下面n行给出每个英雄可以杀q种小怪兽and这些怪兽的编号 每个英雄只能杀一只怪兽 魔法药水可以使英雄再杀一怪兽 一个英雄最多使用一瓶magic 思路一(二分图匹配): 先对不使用magic的情况跑一遍匈牙利->返回有多少个hero能杀得到monster(代码中的Q) 这时from数组中已经存下每个 from[...原创 2019-10-12 15:10:51 · 288 阅读 · 3 评论