上一页 1 ··· 5 6 7 8 9 10 下一页
摘要: 关于建边,如果需要求最小值(即最长路),一开始的话add(v,u,-w);另外如果xi-xj<=k,那么建边(j,i,k)这个样子 推荐博客:https://blog.csdn.net/consciousman/article/details/53812818 洛谷P5960:https://www 阅读全文
posted @ 2020-07-16 14:49 Anonytt 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.luogu.com.cn/problem/P3436 题目大意:给你n个点(第n+1个点为最终点)和m条边,问你从1~n个点走到第n+1个点的不同路线的数量(这里规定路线中但凡有一条不一样,那么这就是不同路线) 题目陷阱:我们需要考虑对于重边和自环的处理。 题目解法 阅读全文
posted @ 2020-07-15 21:10 Anonytt 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 感谢博主:https://www.luogu.com.cn/blog/116113X/solution-p2542 题意:略: 错误解法:这个题我一开始想的是持续动态更新Tarjan双联通缩点后找桥,但是显然从理论上来说复杂度过不去,所以考虑更换思路 正确解法:这个时候我去搜了一下题解,感觉这个题很 阅读全文
posted @ 2020-07-13 21:59 Anonytt 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.luogu.com.cn/problem/P4742 思路:这个其实还是很简单的吧,为什么我会单独拿出来写一个博客呢?是因为这里的记忆化搜索在日后会对我有所启发吧。整体思路很简单:就是Tarjan强联通缩点后重建新图。然后在新图上跑dfs记忆化搜索。 #includ 阅读全文
posted @ 2020-07-12 19:16 Anonytt 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 前言:树上启发式合并(DSU on Tree),是一个在O(nlogn) 时间内解决许多树上问题的有力算法,其对于树上离线问题的处理速度大于等于其他的算法,且更容易理解(个人认为处理与子树的关系牵涉很多)。具体思路大概就是先像树链剖分那样找到每个结点的重儿子,然后把所有轻儿子的贡献合并于重儿子(比较 阅读全文
posted @ 2020-06-10 14:52 Anonytt 阅读(1272) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://ac.nowcoder.com/acm/contest/4010/E 题目分析: 错误解法:看一眼就知道要用set,于是我一开始非常莽的跑了一发O(n*n*logn)的假算法,过了70%的数据,就是对于每次操作,新添加的树合并到重儿子上,合并完之后,用vector把set里 阅读全文
posted @ 2020-06-09 21:35 Anonytt 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 1.模板题 洛谷P3806 注意对limit加限制<=1e7,不然会RE #include<bits/stdc++.h> #define ll long long #define rep(i,a,n) for(int i=a;i<=n;i++) #define per(i,n,a) for(int 阅读全文
posted @ 2020-06-06 11:18 Anonytt 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 题意:给你n,m;n条平行于y轴的线段,输入3个点表示2个坐标;m条平行于x轴的线段,输入3个点表示2个坐标;起点在(0,0)问把起点包裹起来所形成的图形的面积。 题解:二维离散化,把整个图形切割成一块一块的并看做成点(共(n+1)*(m+1)个点,显然最外层的点权为INF),然后从起点开始bfs, 阅读全文
posted @ 2020-05-19 22:13 Anonytt 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 题意:给你n1个1,n2个2,n3个3以及n和顶点(保证n=n1+n2+n3),m条双向边。然后构成一个图,此图可能为非连通图,对该图进行染色(可以染1或2或3三种颜色),每相邻两个点颜色大小绝对值之差为1,问能否染成功?如果成功,输出每个点的染色方案。 难度系数:图论2100 解法:在比赛的时候直 阅读全文
posted @ 2020-05-18 22:00 Anonytt 阅读(243) 评论(0) 推荐(1) 编辑
摘要: 题意:在一棵生成树上,给出了三个点,求三个点之间最大的相交点数,CF难度1900。 题解:求出三个lca,并取深度最大的那个,就是我们要的三岔路口K,然后分别求出K到a,b,c三点的路径长度,取最大值+1就是答案。为什么是取深度最大的呢?因为只有当深度是最大的时候设该点为K,这个K为三岔路口,每一个 阅读全文
posted @ 2020-05-17 15:09 Anonytt 阅读(152) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 下一页