就是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;
}

最新文章

  1. UWP crop image control
  2. 初学angular-简单的angular指令
  3. Django--上传文件
  4. oracle中merge的详解
  5. Linux下 RabbitMQ的安装与配置
  6. 安装Ubuntu服务器
  7. UVA11922--Permutation Transformer (伸展树Splay)
  8. 关于WPF中承载 ArcGIS控件。
  9. [Regionals 2012 :: Asia - Tokyo ]
  10. 输出无名空数组---精android、IOS App应用服务程序开发
  11. Python第二十四天 binascii模块
  12. 【Saltstack】Saltstack简单说明
  13. MySQL之索引详解
  14. VUE插件大总结
  15. Python Revisited Day 06 (面向对象程序设计)
  16. Orchard详解--第四篇 缓存介绍
  17. AtCoder 瞎做
  18. Java编制至今总结和学习报告
  19. MySQL优化的一些基础
  20. 存储开头结尾使用begin tran,rollback tran作用?

热门文章

  1. LeetCode:322. 零钱兑换
  2. UI自动化在RobotFramework中采用的分层设计
  3. Bind DNS服务——转发与区域记录更新
  4. Eclipse安装Pydev插件时所遇到的问题
  5. [apue] linux 文件访问权限那些事儿
  6. STL----vector注意事项
  7. 敢为人先,从阿里巴巴云原生团队实践Dapr案例,看分布式应用运行时前景
  8. 非静态的字段、方法或属性“System.Web.UI.Page.ClientScript.get”要求对象引用
  9. RNA
  10. 结构型模式 -- 代理模式(静态代理&amp;动态代理)