传送门

题意简述:给出一张图问不在从sss到ttt所有简单路径上的点数。


思路:

枚举删去每个点然后把整张图用并查集处理一下,同时不跟sss和ttt在同一个连通块的点就是满足要求的点(被删去的不算)。

代码:

#include<bits/stdc++.h>
#define ri register int
using namespace std;
inline int read(){
	int ans=0;
	char ch=getchar();
	while(!isdigit(ch))ch=getchar();
	while(isdigit(ch))ans=(ans<<3)+(ans<<1)+(ch^48),ch=getchar();
	return ans;
}
const int N=205;
bool vis[N];
int fa[N],ban,n,m,ans,s,t,ex[N*N],ey[N*N];
inline int find(int x){return x^fa[x]?fa[x]=find(fa[x]):x;}
inline void check(){
	for(ri i=1;i<=n;++i)fa[i]=i;
	for(ri u,v,i=1;i<=m;++i){
		u=find(ex[i]),v=find(ey[i]);
		if(ex[i]==ban||ey[i]==ban)continue;
		if(u^v)fa[v]=u;
	}
	for(ri i=1;i<=n;++i)vis[i]|=i!=ban&&find(i)!=find(s)&&find(i)!=find(t);
}
int main(){
	while(~scanf("%d%d%d%d",&n,&m,&s,&t)){
		++s,++t,ans=0,fill(vis+1,vis+n+1,0);
		for(ri i=1;i<=m;++i)ex[i]=read()+1,ey[i]=read()+1;
		for(ban=1;ban<=n;++ban)check();
		for(ri i=1;i<=n;++i)ans+=vis[i];
		cout<<ans<<'\n';
	}
	return 0;
}

2019.01.22 zoj3583 Simple Path(并查集+枚举)的更多相关文章

  1. 2019.01.21 bzoj3674: 可持久化并查集加强版(主席树+并查集)

    传送门 题意:维护可持久化并查集,支持在某个版本连边,回到某个版本,在某个版本 询问连通性. 思路: 我们用主席树维护并查集fafafa数组,由于要查询历史版本,因此不能够用路径压缩. 可以考虑另外一 ...

  2. Codeforces Round #582 (Div. 3)-G. Path Queries-并查集

    Codeforces Round #582 (Div. 3)-G. Path Queries-并查集 [Problem Description] 给你一棵树,求有多少条简单路径\((u,v)\),满足 ...

  3. 2019.01.22 uoj#14. 【UER #1】DZY Loves Graph(并查集)

    传送门 题意简述: 要求支持以下操作: 在a与b之间连一条长度为i的边(i是操作编号):删除当前图中边权最大的k条边:表示撤销第 i−1次操作,保证第1次,第i−1 次不是撤回操作. 要求在每次操作后 ...

  4. Tensorflow学习笔记2019.01.22

    tensorflow学习笔记2 edit by Strangewx 2019.01.04 4.1 机器学习基础 4.1.1 一般结构: 初始化模型参数:通常随机赋值,简单模型赋值0 训练数据:一般打乱 ...

  5. P1141 01迷宫 DFS (用并查集优化)

    题目描述 有一个仅由数字00与11组成的n \times nn×n格迷宫.若你位于一格0上,那么你可以移动到相邻44格中的某一格11上,同样若你位于一格1上,那么你可以移动到相邻44格中的某一格00上 ...

  6. A simple problem(并查集判环)

    http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2497 题意:给定一些点和边的关系,判断S点是否 ...

  7. USACO环绕岛屿Surround the Islands 并查集 枚举暴力

    题目描述 Farmer John has bought property in the Caribbean and is going to try to raise dairy cows on a b ...

  8. hdu 1598 find the most comfortable road(并查集+枚举)

    find the most comfortable road Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K ...

  9. poj2912(种类并查集+枚举)

    题目:http://poj.org/problem?id=2912 题意:n个人进行m轮剪刀石头布游戏(0<n<=500,0<=m<=2000),接下来m行形如x, y, ch ...

随机推荐

  1. Fraction to Recurring Decimal(STRING-TYPE CONVERTION)

    QUESTION Given two integers representing the numerator and denominator of a fraction, return the fra ...

  2. Alley Bird 跳跳鸟源码

    <跳跳鸟Alley Bird>是一款敏捷小游戏.<跳跳鸟Alley Bird>采用了点击屏幕操作玩法,非常简单易上手,同时游戏内容也趣味性十足.<跳跳鸟Alley Bir ...

  3. javascript根据身份证号判断精确周岁年龄

    前言: 根据身份证号判断精确周岁年龄,可以精确到天,即周岁以生日当天为准,生日当天周岁+1,少一天则不加. 实现方法: <!DOCTYPE html> <html> <h ...

  4. nSamplesPerSec和nAvgBytesPerSec

    nAvgBytesPerSec 意思是每秒多少字节,你的每个sample位深(精度/bitpersample)是16bit,就是2字节,nSamplesPerSec一秒44100个sample(441 ...

  5. 设置TextFiled输入长度限制

    #pragma mark - 显示超过11位不让输入 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange: ...

  6. linux命令学习之:cp

    cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一. 如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中.若同时指定多个文 ...

  7. dev-client.js-配合dev-server.js监听html文件改动也能够触发自动刷新

    // 引入 webpack-hot-middleware/client var hotClient = require('webpack-hot-middleware/client'); // 订阅事 ...

  8. golang基础学习

    一.输出hello,world程序 package main; import "fmt"; func main() { fmt.Printf("hello,world&q ...

  9. Ubuntu安装时没注册root用户密码,怎么登录root

    一.其实我个人认为这没有多大必要,因为当你需要 root 的权限时,使用 sudo 便可以了.如果你实在需要在 Ubuntu 中启用 root 帐号的话,那么不妨执行下面的操作: 1.重新设置 roo ...

  10. JavaScript DOM操作浅谈

    1.理解DOM: DOM(Document Object Model ,文档对象模型)一种独立于语言,用于操作xml,html文档的应用编程接口. 怎么说,我从两个角度理解: 对于JavaScript ...