网站首页 站内搜索

搜索结果

查询Tags标签: 缩点,共有 11条记录
  • 2022.2.21蓝桥杯准备训练

    时隔多年,再次入坑算法竞赛。。。。。 今天复习了点双,边双,割边缩点,割点缩点,强联通分量。 在强联通分量板题中,注意tarjan中的写法 if(!dfn[t]){tarjan(t);low[x] = min(low[x],low[t]);}else if(ins[t]){low[x] = min(low[x],dfn[t]);}而不是 if(!dfn[t]){dfs(t…

    2022/2/22 0:01:30 人评论 次浏览
  • 强连通分量+缩点

    强连通分量+缩点 使用tarjan算法求强连通分量,再把强连通分量缩成一个点。 所需的数据结构 int dfn[10004];//遍历到i节点时的时间戳 int low[10004];//i节点不通过父节点可以回溯到的最小时间戳 int book[10004];//表示i是否入栈 stack<int> s;先读入点和边 cin …

    2021/11/13 23:14:07 人评论 次浏览
  • 强连通分量+缩点

    强连通分量+缩点 使用tarjan算法求强连通分量,再把强连通分量缩成一个点。 所需的数据结构 int dfn[10004];//遍历到i节点时的时间戳 int low[10004];//i节点不通过父节点可以回溯到的最小时间戳 int book[10004];//表示i是否入栈 stack<int> s;先读入点和边 cin …

    2021/11/13 23:14:07 人评论 次浏览
  • 1515:网络协议(tarjan+缩点

    #include<bits/stdc++.h> using namespace std; const int N=1e5+10; struct node{int to,nxt; }d[N*2];int head[N*2],tot=0; void add(int a,int b){d[++tot]={b,head[a]};head[a]=tot; } int low[N],dfn[N],Stack[N],belong[N]; int Index,top,scc,num[N]; bool …

    2021/9/17 23:10:12 人评论 次浏览
  • 1515:网络协议(tarjan+缩点

    #include<bits/stdc++.h> using namespace std; const int N=1e5+10; struct node{int to,nxt; }d[N*2];int head[N*2],tot=0; void add(int a,int b){d[++tot]={b,head[a]};head[a]=tot; } int low[N],dfn[N],Stack[N],belong[N]; int Index,top,scc,num[N]; bool …

    2021/9/17 23:10:12 人评论 次浏览
  • 「PMOI-4」可怜的团主

    一、题目 点此看题 这道题考试时候打了缩点,然后一无所获,虽然想出了那个超级神奇的构造方法。 还是不要思维定式啊,我以为难的图论题一定要缩点,但是我从来一打缩点就爆炸。 二、解法 比较传统的树上二选一构造问题,根据套路任何情况一定有解。 直接考虑 \(\tt dfs\…

    2021/8/20 23:09:00 人评论 次浏览
  • 「PMOI-4」可怜的团主

    一、题目 点此看题 这道题考试时候打了缩点,然后一无所获,虽然想出了那个超级神奇的构造方法。 还是不要思维定式啊,我以为难的图论题一定要缩点,但是我从来一打缩点就爆炸。 二、解法 比较传统的树上二选一构造问题,根据套路任何情况一定有解。 直接考虑 \(\tt dfs\…

    2021/8/20 23:09:00 人评论 次浏览
  • P3387 缩点

    \(Tarjan\) 模板 #include<cstdio> #include<queue> #include<iostream> #define re register using namespace std;const int N = 1e4 + 5; int n, m, a[N], h1[N], h2[N]; struct edge{int nxt, to;}e1[N * 10], e2[N * 10];inline void add1(int u, …

    2021/8/10 23:38:03 人评论 次浏览
  • P3387 缩点

    \(Tarjan\) 模板 #include<cstdio> #include<queue> #include<iostream> #define re register using namespace std;const int N = 1e4 + 5; int n, m, a[N], h1[N], h2[N]; struct edge{int nxt, to;}e1[N * 10], e2[N * 10];inline void add1(int u, …

    2021/8/10 23:38:03 人评论 次浏览
  • 【缩点 动态规划】JZOJ_4253. 【五校联考7day2】QYQ在艾泽拉斯

    题意 给出一个图,上面有若干连通块。 对于每个连通块,为有向边组成的图,每个点上有点权。 最多在\(K+1\)个连通块操作,使得遍历这个连通块获得的点权之和最大。 思路 将每个连通块上的环缩点,变成一个DAG然后dp即可。 代码 #include <queue> #include <stac…

    2021/8/9 23:07:09 人评论 次浏览
  • 【缩点 动态规划】JZOJ_4253. 【五校联考7day2】QYQ在艾泽拉斯

    题意 给出一个图,上面有若干连通块。 对于每个连通块,为有向边组成的图,每个点上有点权。 最多在\(K+1\)个连通块操作,使得遍历这个连通块获得的点权之和最大。 思路 将每个连通块上的环缩点,变成一个DAG然后dp即可。 代码 #include <queue> #include <stac…

    2021/8/9 23:07:09 人评论 次浏览
扫一扫关注最新编程教程