http://www.lydsy.com/JudgeOnline/problem.php?id=1143

题意:

思路:

二分图最大点独立集,首先用floyd判断一下可达情况。

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cstring>
  4. using namespace std;
  5.  
  6. int n,m,tot;
  7. int mp[][],mark[],head[];
  8. bool vis[];
  9.  
  10. struct node
  11. {
  12. int v,next;
  13. }e[];
  14.  
  15. void addEdge(int u,int v)
  16. {
  17. e[tot].v = v;
  18. e[tot].next = head[u];
  19. head[u] = tot++;
  20. }
  21.  
  22. void floyd()
  23. {
  24. for(int k=;k<=n;k++)
  25. for(int i=;i<=n;i++)
  26. for(int j=;j<=n;j++)
  27. mp[i][j] = mp[i][j]||(mp[i][k]&&mp[k][j]);
  28. }
  29.  
  30. bool match(int u)
  31. {
  32. for(int i=head[u];i!=-;i=e[i].next)
  33. {
  34. int v = e[i].v;
  35. if(!vis[v])
  36. {
  37. vis[v] = true;
  38. if(mark[v]==- || match(mark[v]))
  39. {
  40. mark[v] = u;
  41. return true;
  42. }
  43. }
  44. }
  45. return false;
  46. }
  47.  
  48. int main()
  49. {
  50. tot = ;
  51. memset(head,-,sizeof(head));
  52. scanf("%d%d",&n,&m);
  53. for(int i=;i<m;i++)
  54. {
  55. int u,v;
  56. scanf("%d%d",&u,&v);
  57. mp[u][v] = ;
  58. }
  59. floyd();
  60. for(int i=;i<=n;i++)
  61. {
  62. for(int j=;j<=n;j++)
  63. {
  64. if(mp[i][j]) addEdge(i,j);
  65. }
  66. }
  67. int sum = ;
  68. memset(mark,-,sizeof(mark));
  69. for(int i=;i<=n;i++)
  70. {
  71. memset(vis,,sizeof(vis));
  72. if(match(i)) sum++;
  73. }
  74. printf("%d\n",n-sum);
  75. }

BZOJ 1143: [CTSC2008]祭祀river(二分图最大点独立集)的更多相关文章

  1. Bzoj 2718: [Violet 4]毕业旅行 && Bzoj 1143: [CTSC2008]祭祀river 传递闭包,二分图匹配,匈牙利,bitset

    1143: [CTSC2008]祭祀river Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1878  Solved: 937[Submit][St ...

  2. bzoj 1143: [CTSC2008]祭祀river / 2718: [Violet 4]毕业旅行 -- 二分图匹配

    1143: [CTSC2008]祭祀river Time Limit: 10 Sec  Memory Limit: 162 MB Description 在遥远的东方,有一个神秘的民族,自称Y族.他们 ...

  3. BZOJ 1143: [CTSC2008]祭祀river 最长反链

    1143: [CTSC2008]祭祀river Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline ...

  4. [BZOJ 1143] [CTSC2008] 祭祀river 【最长反链】

    题目链接:BZOJ - 1143 题目分析 这道题在BZOJ上只要求输出可选的最多的祭祀地点个数,是一道求最长反链长度的裸题. 下面给出一些相关知识: 在有向无环图中,有如下的一些定义和性质: 链:一 ...

  5. BZOJ 1143 [CTSC2008]祭祀river(二分图匹配)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1143 [题目大意] 给出一张有向图,问最大不连通点集,连通具有传递性 [题解] 我们将 ...

  6. BZOJ 1143: [CTSC2008]祭祀river 最大独立集

    题目链接: http://www.lydsy.com/JudgeOnline/problem.php?id=1143 题解: 给你一个DAG,求最大的顶点集,使得任意两个顶点之间不可达. 把每个顶点v ...

  7. 【刷题】BZOJ 1143 [CTSC2008]祭祀river

    Description 在遥远的东方,有一个神秘的民族,自称Y族.他们世代居住在水面上,奉龙王为神.每逢重大庆典, Y族都会在水面上举办盛大的祭祀活动.我们可以把Y族居住地水系看成一个由岔口和河道组成 ...

  8. [BZOJ]1143: [CTSC2008]祭祀river

    题目大意:给定一个n个点m条边的有向无环图,问最多选多少个点使得两两之间互不到达.(n<=100,m<=1000) 思路:题目所求即最长反链,最长反链=最小链覆盖,对每个点向自己能到的所有 ...

  9. BZOJ 1143: [CTSC2008]祭祀river(最大独立集)

    题面: https://www.lydsy.com/JudgeOnline/problem.php?id=1143 一句话题意:给一个DAG(有向无环图),求选出尽量多的点使这些点两两不可达,输出点个 ...

随机推荐

  1. 20165305 实验四:Android程序设计

    实验内容 基于Android Studio开发简单的Android应用并部署测试; 了解Android.组件.布局管理器的使用: 掌握Android中事件处理机制. Android Studio安装 ...

  2. 转:【专题三】自定义Web服务器

    前言: 经过前面的专题中对网络层协议和HTTP协议的简单介绍相信大家对网络中的协议有了大致的了解的, 本专题将针对HTTP协议定义一个Web服务器,我们平常浏览网页通过在浏览器中输入一个网址就可以看到 ...

  3. window下nodejs用nodemon启动koa2项目(用cmd启动不了,要用Git Bash Here 启动才可以)

    window下nodejs用nodemon启动koa2项目(用cmd启动不了,要用Git Bash Here 启动才可以)nodemon --watch 'app/**/*' -e ts --exec ...

  4. 【JavaScript 6连载】三、构造函数

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  5. Windows Services(NT)

    本文主要记录什么是Windows Service,及其主要组成?并通过一个列子来创建一个Windows Services,同时,记录几个在查资料碰到的问题. Windows Services全文简称N ...

  6. Chrome表单自动填充如何取消(暂时可行的解决办法)

    做项目时一直遇到一个问题,那就是用chrome测试的时候页面上的表单一直会自动填充,并且伴有黄色的背景颜色,有时候感觉很方便,有时候又很想去掉. 之前也多次寻找过方法,但是网上的方法都差不多,很多都是 ...

  7. jdbc连接 orale 和 mysql 所需要的jar包

    oracle: ojdbc6-12.1.0.2.jar mysql: mysql-connector-java-5.1.47.jar

  8. Eloquent JavaScript #11# The Document Object Model

    索引 Notes js与html DOM 在DOM树中移动 在DOM中寻找元素 改变Document 创建节点 html元素属性 布局 style CSS选择器 动画 Exercises Build ...

  9. php中session同ip不同端口的多个网站session冲突的解决办法

    在局域网内使用IP加端口的访问方式搭了两个相同程序的站,结果发现用户在一个站下登录后,在另一个站也同时登录了,在一个退出后,另一个站也同时退出了.看了下程序发现两个站都是使用纯session方式记录登 ...

  10. centos7.3安装MongoDB

    安装步骤: 1.配置包管理系统 vim /etc/yum.repos.d/mongodb.repo [mongodb] name=MongoDB Repository baseurl=http://d ...