传送门

网上说这是偏序集最大反链,然而我实在不理解。

所以我换了一个思路,先用floyd,根据点的连通性连边,

问题就转换成了找出最多的点,使任意两个点之间不连边,也就是最大独立集。

——代码

 #include <cstdio>
#include <cstring>
#include <iostream> const int MAXN = ;
int n, m, ans, cnt;
int a[MAXN][MAXN], belong[MAXN], head[MAXN], to[MAXN << ], next[MAXN << ];
bool vis[MAXN]; inline int read()
{
int x = ;
char c = getchar();
for(; !isdigit(c); c = getchar());
for(; isdigit(c); c = getchar()) x = (x << ) + (x << ) + c - '';
return x;
} inline bool find(int u)
{
int i, v;
for(i = head[u]; i ^ -; i = next[i])
{
v = to[i];
if(!vis[v])
{
vis[v] = ;
if(!belong[v] || find(belong[v]))
{
belong[v] = u;
return ;
}
}
}
return ;
} inline void add(int x, int y)
{
to[cnt] = y;
next[cnt] = head[x];
head[x] = cnt++;
} int main()
{
int i, j, k, x, y;
n = read();
m = read();
for(; m--;)
{
x = read();
y = read();
a[x][y] = ;
}
for(k = ; k <= n; k++)
for(i = ; i <= n; i++)
for(j = ; j <= n; j++)
a[i][j] |= (a[i][k] && a[k][j]);
memset(head, -, sizeof(head));
for(i = ; i <= n; i++)
for(j = ; j <= n; j++)
if(a[i][j])
add(i, j);
ans = n;
for(i = ; i <= n; i++)
{
memset(vis, , sizeof(vis));
ans -= find(i);
}
printf("%d\n", ans);
return ;
}

最新文章

  1. php js数组问题
  2. Oracle Contact By的使用
  3. 转载:css3 content 生成内容
  4. dbm速算
  5. 被FBI点名的中国黑客-Lion
  6. 安装Visual Studio2015后,使用VS2013开发的项目,在IIS访问都提示“公共语言运行时检测到无效的程序”的解决办法
  7. 【UVA11324】The Largest Clique (SCC)
  8. jquery 插件大全
  9. Swift—final关键字-b
  10. HDU 4739 求正方形个数
  11. 【Android笔记】MediaPlayer基本用法
  12. pc端的企业网站(IT修真院test9)详解一个响应式完成的pc端项目
  13. CTFcracktools——非常实用的CTF解密工具
  14. Vue中scoped css和css module比较
  15. China Tightens Recycling Import Rules
  16. 记SCOI2019
  17. Ubuntu18系统qt生成程序无法双击运行问题
  18. 【AtCoder】ARC076
  19. 使用pandas的部分问题汇总
  20. unity中实现场景之间加载进度条

热门文章

  1. Looper、MessageQueue、Message、Handler的关系
  2. Android 线程池系列教程(2)Thread,Runnable是基类及如何写Run方法
  3. 451 Sort Characters By Frequency 根据字符出现频率排序
  4. UnixTime的时间戳的转换
  5. hihocoder1710 等差子数列
  6. [BZOJ2005][NOI2010]能量采集 数学
  7. 虚拟机下安装 CentOS 7 的几个小问题
  8. [Windows Server 2008] 阿里云.云主机忘记密码解决方法
  9. Int 1的实现过程 (一)
  10. 迅为双核imx6DL核心板_ARM定制专家_Cortex SATA 千兆网 4G GPS