就是n的元素给定m个关系求他们之间的关系。

eg.  ∵a>b and b>c ∴a>c

emmmm

若要知道n个元素的绝对关系,则需知道C(n,2)个关系。

例题:POJ3275

求法:Floyd。关系如下:

if(g[i][k] and g[k][j]) g[i][j]=1;

但是呢,对于这个题的数据范围O(n3)的解法是肯定不行的。

于是我们用链式前向星。

/*#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<bitset>
#include<vector>
using namespace std;
inline int read()
{
int x=0,w=0;char c=getchar();
while(!isdigit(c))w|=c=='-',c=getchar();
while(isdigit(c))x=(x<<3)+(x<<1)+(c^48),c=getchar();
return w?-x:x;
}
const int maxn=1e3+10;
int n,m;
bitset<maxn>g[maxn]; int main()
{
n=read(),m=read();
for(int i=1;i<=m;i++)
g[read()][read()]=1;
for(int k=1;k<=n;k++)
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if(g[i][k] & g[k][j])g[i][j]=1;
for(int i=1;i<=n;i++) if(g[i][i]){
printf("-1\n");return 0;
}
int ans=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if(!g[i][j] and !g[j][i])ans++;
printf("%d",(ans-n)/2);
return 0;
}*/
//上面是邻接矩阵 #include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#define R register
using namespace std;
inline int read()
{
int x=0,w=0;char c=getchar();
while(!isdigit(c))w|=c=='-',c=getchar();
while(isdigit(c))x=(x<<3)+(x<<1)+(c^48),c=getchar();
return w?-x:x;
}
const int maxn=1100;
int head[2][maxn],to[2][maxn],nxt[2][maxn],ecnt,n,m;
inline void addedge(int from,int too)
{
to[0][++ecnt]=too,nxt[0][ecnt]=head[0][from],head[0][from]=ecnt;
to[1][ecnt]=from,nxt[1][ecnt]=head[1][too],head[1][too]=ecnt;
}
bool vis[maxn][maxn];
int main()
{
n=read(),m=read();
int ans=0;
for(R int x,y,i=1;i<=m;i++)
{
x=read(),y=read();
if(!vis[x][y])
addedge(x,y),ans++,vis[x][y]=1;
}
for(R int u,v,k=1;k<=n;k++)
for(R int i=head[1][k];i;i=nxt[1][i])
{
u=to[1][i];
for(R int j=head[0][k];j;j=nxt[0][j])
{
v=to[0][j];
if(vis[u][v])continue;
vis[u][v]=1;
ans++;
addedge(u,v);
}
}
printf("%d",n*(n-1)/2-ans);
return 0;
}

离散数学-传递闭包(POJ3275)的更多相关文章

  1. 【离散数学】 SDUT OJ 传递闭包 && memset 使用注意事项

    传递闭包 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 已知有n头牛,m次战斗关系, ...

  2. Gym 101873D - Pants On Fire - [warshall算法求传递闭包]

    题目链接:http://codeforces.com/gym/101873/problem/D 题意: 给出 $n$ 个事实,表述为 "XXX are worse than YYY" ...

  3. UVA 247 电话圈 (floyd传递闭包 + dfs输出连通分量的点)

    题意:输出所有的环: 思路:数据比较小,用三层循环的floyd传递闭包(即两条路通为1,不通为0,如果在一个环中,环中的所有点能互相连通),输出路径用dfs,递归还没有出现过的点(vis),输出并递归 ...

  4. UVA 753 UNIX 插头(EK网络流+Floyd传递闭包)

    UNIX 插头 紫书P374 [题目链接]UNIX 插头 [题目类型]EK网络流+Floyd传递闭包 &题解: 看了书之后有那么一点懂了,但当看了刘汝佳代码后就完全明白了,感觉他代码写的好牛逼 ...

  5. UVA 247 电话圈(Floyd传递闭包+输出连通分量)

    电话圈 紫书P365 [题目链接]电话圈 [题目类型]Floyd传递闭包+输出连通分量 &题解: 原来floyd还可以这么用,再配合连通分量,简直牛逼. 我发现其实求联通分量也不难,就是for ...

  6. BZOJ-1143&&BZOJ-2718 祭祀river&&毕业旅行 最长反链(Floyed传递闭包+二分图匹配)

    蛋蛋安利的双倍经验题 1143: [CTSC2008]祭祀river Time Limit: 10 Sec Memory Limit: 162 MB Submit: 1901 Solved: 951 ...

  7. HDU2050离散数学折线分割平面

    折线分割平面 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...

  8. poj 2594 传递闭包+最大路径覆盖

    由于路径可以有重复的点,所以需要将间接相连的点连接 #include<stdio.h> #include<string.h> #include<algorithm> ...

  9. 传递闭包+二进制位运算+floyd(poj2570)

    Fiber Network Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3125   Accepted: 1436 Des ...

随机推荐

  1. ES6中的数组常用方法

    数组在JS中虽然没有函数地位那么高,但是也有着举足轻重的地位,下面我就结合这ES5中的一些常用的方法,与ES6中的一些方法做一些说明和实际用途.大家也可以关注我的微信公众号,蜗牛全栈. 一.ES5中数 ...

  2. 狂神说linux笔记:基本操作

    Linux介绍 Linux的概述本文就不赘述了,如果想仔细了解的小伙伴可以百度Linux的历史或者看看狂神的原文.本文主要写linux的操作过程知识点. 狂神的原文如下: https://mp.wei ...

  3. [USACO3.1]最短网络 Agri-Net

    题目背景 Farmer John 被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场.当然,他需要你的帮助. 题目描述 FJ 已经给他的农场安排了一条高速的网络线路,他想 ...

  4. python pyyaml操作yaml配置文件

    在测试工作中,可以使用yaml编写测试用例,执行测试用例时直接获取yaml中的用例数据进行测试(如:接口自动化测试) 1.什么是yaml 是一种可读的数据序列化语言,通常用于配置文件 非常简洁和强大, ...

  5. 一、部署监控服务器--安装LNMP环境

    1.要求: 本案例要求部署-台Zabbix监控服务器, -台被监控主机,为进一步执行具体的监控任务做准备:1.安装LNMP环境2.源码安装Zabbix3.安装监控端主机,修改基本配置4.初始化Zabb ...

  6. vue给元素动态绑定样式

    <div :style="{ color: activeColor, fontSize: fontSize + 'px' }"></div> data () ...

  7. 重新整理 .net core 实践篇—————Mediator实践[二十八]

    前言 简单整理一下Mediator. 正文 Mediator 名字是中介者的意思. 那么它和中介者模式有什么关系呢?前面整理设计模式的时候,并没有去介绍具体的中介者模式的代码实现. 如下: https ...

  8. OSPF多区域原理与配置

    OSPF多区域原理与配置 目录 一.OSPF多区域生成 1.1.生成OSPF多区域的原因 二.OSPF的三种通信量 2.1.域内通信量 2.2.域间通信量 2.3.外部通信量 三.OSPF的路由器类型 ...

  9. Tkinter 吐槽之一:多线程与 UI 交互

    背景 最近想简单粗暴的用 Python 写一个 GUI 的小程序.因为 Tkinter 是 Python 自带的 GUI 解决方案,为了部署方便,就直接选择了 Tkinter. 本来觉得 GUI 发展 ...

  10. mysql的主从复制延迟问题--看这一篇就够了

    ​ 在之前我们已经讲解了一主一从,双主双从的mysql集群搭建,在单机应用的时候看起来没有问题,但是在企业的生产环境中,在很多情况下都会有复制延迟的问题. ​ 主从复制的原理我们在此处就不再赘述了,之 ...