bzoj1574[Usaco2009 Jan]地震损坏Damage

题意:

n点m边无向图,知道p条信息ai,表示ai没被损坏但它和点1不联通(损坏的点不能通行),问有多少点和1联通(不包括损坏的点)。n≤30000,m≤100000。

题解:

有一个结论,最优删点方案应该是对每个信息ai,将所有ai的相邻点均设为损坏。在这之后DFS求联通性即可。

代码:

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <algorithm>
 4 #include <queue>
 5 #define inc(i,j,k) for(int i=j;i<=k;i++)
 6 #define maxn 30010
 7 using namespace std;
 8
 9 inline int read(){
10     char ch=getchar(); int f=1,x=0;
11     while(ch<'0'||ch>'9'){if(ch=='-')f=-1; ch=getchar();}
12     while(ch>='0'&&ch<='9')x=x*10+ch-'0',ch=getchar();
13     return f*x;
14 }
15 struct e{int t,n;}es[maxn*8]; int g[maxn],ess;
16 void pe(int f,int t){es[++ess]=(e){t,g[f]}; g[f]=ess;}
17 bool vis[maxn]; int n,m,p,ans;
18 void dfs(int x){
19     ans++; for(int i=g[x];i;i=es[i].n)if(!vis[es[i].t])vis[es[i].t]=1,dfs(es[i].t);
20 }
21 int main(){
22     n=read(); m=read(); p=read(); inc(i,1,m){int x=read(),y=read(); pe(x,y); pe(y,x);}
23     inc(i,1,p){int x=read(); for(int j=g[x];j;j=es[j].n)if(es[j].t!=x)vis[es[j].t]=1;}
24     vis[1]=1; dfs(1); printf("%d",n-ans); return 0;
25 }

20160926

转载于:https://www.cnblogs.com/YuanZiming/p/5910809.html

bzoj1574[Usaco2009 Jan]地震损坏Damage*相关推荐

  1. 1574: [Usaco2009 Jan]地震损坏Damage

    1574: [Usaco2009 Jan]地震损坏Damage Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 425  Solved: 232 [Su ...

  2. 【BZOJ】1574: [Usaco2009 Jan]地震损坏Damage

    [算法]搜索 [题意]给定无向图,现在可能有一些点已经被删除,只给出信息是c个点不能到达结点1,求最少的不能到达结点1的个数(含已删除点). [题解] 真是一道奥妙重重的题目. 每个点不能到达结点1, ...

  3. P1574: [Usaco2009 Jan]地震损坏Damage

    卧槽卧槽卧槽,这道水题竟然让我WA了两遍!!评测系统卡了然后手贱又提交了一次,然后就悲催了呜呜.. 把与不能回家但牛棚完好的牛相邻的牛棚赋值为不能走(false),可以证明,如果该牛回不了家,则周围一 ...

  4. bzoj3396[Usaco2009 Jan]Total flow 水流*

    bzoj3396[Usaco2009 Jan]Total flow 水流 题意: 求无环图的最大流.边数≤700. 题解: 管它有没有环.注意本题的节点标号既有大写字母,也有小写字母. 代码: 1 # ...

  5. bzoj 3396: [Usaco2009 Jan]Total flow 水流(最大流)

    3396: [Usaco2009 Jan]Total flow 水流 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 615  Solved: 295 ...

  6. bzoj 3394: [Usaco2009 Jan]Best Spot 最佳牧场(floyd)

    3394: [Usaco2009 Jan]Best Spot 最佳牧场 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 98  Solved: 76 [ ...

  7. BZOJ3393 [Usaco2009 Jan]Laserphones 激光通讯

    第一次知道..原来spfa还可以这样写...用pq... 只需要直接求拐点即可,数据小想怎么搞就怎么搞 (话说怎么这么裸的最短路都写不出来了233) 1 /********************** ...

  8. BZOJ1575: [Usaco2009 Jan]气象牛Baric

    n<=100个数字,选最少的个数使"误差"少于E并输出选该个数下最小的"误差".误差定义: 对于任何测量结果子集,每一个非此子集中的结果都会产生误差.总误 ...

  9. BZOJ1576: [Usaco2009 Jan]安全路经Travel(树链剖分)

    Description Input * 第一行: 两个空格分开的数, N和M * 第2..M+1行: 三个空格分开的数a_i, b_i,和t_i Output * 第1..N-1行: 第i行包含一个数 ...

  10. 【BZOJ】3396: [Usaco2009 Jan]Total flow 水流 (最大流)

    http://www.lydsy.com/JudgeOnline/problem.php?id=3396 裸的最大流跑过.. #include <cstdio> #include < ...

最新文章

  1. REST API URI 设计的七准则
  2. iOS网络请求安全(JWT,RSA)
  3. mac上安装Chromedriver注意事宜
  4. Java面向对象(2) —— 继承
  5. 【渝粤教育】广东开放大学 知识产权法 形成性考核 (34)
  6. 在Oracle中使用Guid
  7. JAVA的引用类型变量(C/C++中叫指针)
  8. javaweb:域对象的属性操作setAttribute(),getAttribute()及其作用范围
  9. 2021年度最全“Java面试宝典+Java核心知识集”,一箭双雕杠春招
  10. vhms销售系统_kangle虚拟主机管理系统(vhms虚拟主机销售系统)
  11. 阅读开源引擎源代码的方式学习游戏引擎好吗?
  12. proxy 服务器配置
  13. 应用NMOS和晶体三极管作为基本开关管的相关知识
  14. ubuntu meld打不开
  15. 印度旅游业的兴衰,如同喜马拉雅山,连绵起伏 | 经济学人全球早报精选
  16. VMware 日记一:基础的系统安装和基本配置解析
  17. JZ18_二叉树的镜像
  18. Phython基础笔记
  19. access h3c交换机光口_H3C交换机的端口配置
  20. ElectraB6支持iOS11、MerisdianB5支持iOS10、7/7+更新最全教程:iPhone7越狱成功、增加删除Cydia

热门文章

  1. 信号处理常用matlab之数字滤波器及滤波函数
  2. 计算机公式和函数的区别,什么是函数 什么是公式
  3. gels imagej 图片处理_科研论文作图之ImageJ
  4. 电力线宽带载波对比窄带载波的优点
  5. webqq协议分析之~~~~登陆
  6. 查看计算机各程序运行时间,查看电脑运行时间_查看电脑运行时间命令
  7. 数据结构与算法分析:C语言描述(原书第2版) PDF+源代码+习题答案
  8. 华为OD机试(JAVA)真题II
  9. python绘制基因结构图_分分钟教你绘制基因结构图!
  10. GroupBox与Panel控件