自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一个蒟蒻的博客

努力学习成为大佬

  • 博客(8)
  • 收藏
  • 关注

原创 tarjan算法题目练习(长期更新)

P2002 消息扩散题目描述有n个城市,中间有单向道路连接,消息会沿着道路扩散,现在给出n个城市及其之间的道路,问至少需要在几个城市发布消息才能让这所有n个城市都得到消息。tarjan缩点(因为一个强连通分量内的点只要又一个传到了其他点都传到了,所以可以缩成一个点),然后重新建图,统计out[i]为0的点的数量#include <iostream>#include <a...

2019-09-26 18:17:22 546

原创 【算法学习】 tarjan算法以及图论的一些应用(强连通分量/割点/桥/缩点)

学习了tarjan算法,觉得这个算法真的是挺强大的,然而蒟蒻并不会用 ,先学习着写一篇博客作为记录。学习tarjan的点觉得主要在于两个数组的理解—— dfn,lowdfn,lowdfn,low数组dfndfndfn数组,用于记录dfsdfsdfs序,也就是这个点最早什么时候被dfs搜索到。lowlowlow数组,用于记录其及其子树中的点能回溯到的点的最小dfsdfsdfs序这两个数组引出...

2019-09-25 18:12:50 218

原创 后缀数组

#include <iostream>#include <algorithm>#include <cstring>#include <cstdio>using namespace std;const int maxn = 1e5+5;class SuffixArray{ char str[maxn]; // 储存字符串 int n,m...

2019-09-11 15:47:47 69

原创 [DAG算法] 拓扑排序

有向无环图 DAG(directed acycline graph)相比较无向图来说,有向图比较特殊。看这幅图,所有的边都带上了方向,也就是说 从节点1可以到节点2,但是节点2不能通过那条边到达节点1一般来说,有向无环图可以用来作为表示流程图的一种工具(想想流程图,是不是也是从一个任务到另一个任务或多个任务)于是判断一个流程图是不是很够顺利进行,就有了拓扑排序。...

2019-09-11 14:46:31 2896 1

原创 最短路问题专题(Luogu训练场及各种总结)

P1462 通往奥格瑞玛的道路题目:找最短路径中点权的最大值的最小值最大值的最小值,最小值的最大值,一般这种题目都会想到二分答案去解决。所以我们先把所有点权排个序(二分需满足有序性),然后二分点权,跑一遍最短路确认该方案是否可行(走的路径时,边权损失的HP要尽量的小,这样才可能到达最终的点...

2019-09-10 12:37:26 326

原创 树状数组/分治求逆序对

#include <iostream>#include <algorithm>#include <vector>using namespace std;const int maxn = 1e5+5;struct data{ int val,id; bool operator <(const data &h)const{ retur...

2019-09-10 12:36:57 116

原创 Codeforces Round #569 (Div. 2)

A. Alex and a Rhombus(找规律水题)这题…找一下规律就很容易得到 f(1) = 1,f(n) = f(n-1) + 4*(n-1),先打表,然后直接输出即可#include <iostream>using namespace std;typedef long long ll;int f[105];int main(){ f[1] = 1; for...

2019-09-05 13:18:03 122

原创 Codeforces Round #583 (Div. 1 + Div. 2, based on Olympiad of Metropolises)

A. Optimal Currency Exchange就是汇率问题,不难发现,我们其实只要换dollardollardollar或euroeuroeuro的最小面值即可,也就是1,和5,其他面值可以通过这两个比例得到,所以问题就简化了。于是暴力即可#include <iostream>using namespace std;int main(){ int n; ...

2019-09-05 13:11:29 237

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除