BZOJ4562: [Haoi2016]食物链
Description
Input
Output
一个整数即食物网中的食物链条数
Sample Input
1 2
1 4
1 10
2 3
2 5
4 3
4 5
4 8
6 5
7 6
7 9
8 5
9 8
10 6
10 7
10 9
Sample Output
#include<cstdio>
#include<cctype>
#include<queue>
#include<cstring>
#include<algorithm>
#define rep(i,s,t) for(int i=s;i<=t;i++)
#define dwn(i,s,t) for(int i=s;i>=t;i--)
#define ren for(int i=first[x];i;i=next[i])
using namespace std;
const int BufferSize=1<<16;
char buffer[BufferSize],*head,*tail;
inline char Getchar() {if(head==tail) {int l=fread(buffer,1,BufferSize,stdin);tail=(head=buffer)+l;}return *head++;
}
inline int read() {int x=0,f=1;char c=Getchar();for(;!isdigit(c);c=Getchar()) if(c=='-') f=-1;for(;isdigit(c);c=Getchar()) x=x*10+c-'0';return x*f;
}
const int maxn=100010;
const int maxm=200010;
typedef long long ll;
int n,m,first[maxn],deg[maxn],in[maxn],is[maxn],next[maxm],to[maxm],e;
void AddEdge(int u,int v) {in[v]++;deg[v]++;is[u]=1;to[++e]=v;next[e]=first[u];first[u]=e;
}
int Q[maxn],f[maxn],g[maxn];
int main() {n=read();m=read();rep(i,1,m) AddEdge(read(),read());int l=1,r=0;rep(i,1,n) if(!in[i]) Q[++r]=i,f[i]=1;while(l<=r) {int x=Q[l++];ren {f[to[i]]+=f[x];if(!(--in[to[i]])) Q[++r]=to[i];}}int ans=0;rep(i,1,n) if(!is[i]&°[i]) ans+=f[i];printf("%d\n",ans);return 0;
}
转载于:https://www.cnblogs.com/wzj-is-a-juruo/p/5552671.html
BZOJ4562: [Haoi2016]食物链相关推荐
- [bzoj4562][Haoi2016]食物链_记忆化搜索_动态规划
食物链 bzoj-4562 Haoi-2016 题目大意:给你n个点,m条边的DAG,求所有的满足条件的链,使得每条链的起点是一个入度为0的点,中点是一条出度为0的点. 注释:$1\le n\le 1 ...
- 记忆优化搜索(简单题)(洛谷P3183 [HAOI2016]食物链 )( P5635 【CSGRound1】天下第一 )
昨天做了蓝桥杯的时候,发现自己对于记忆优化搜索甚是不熟悉,所以今天随便找了几个基础题做做,顺便写下两片题解,顺便用了一下devc++敲的代码,发现没有代码补全真的可以说是灰常难受了... 洛谷P318 ...
- LuoguP3183 [HAOI2016]食物链 记忆化搜索
题目描述 如图所示为某生态系统的食物网示意图,据图回答第1小题现在给你n个物种和m条能量流动关系,求其中的食物链条数.物种的名称为从1到n编号M条能量流动关系形如a1 b1a2 b2a3 b3.... ...
- [HAOI2016]食物链
题目描述 如图所示为某生态系统的食物网示意图,据图回答第1小题现在给你n个物种和m条能量流动关系,求其中的食物链条数.物种的名称为从1到n编号M条能量流动关系形如a1 b1a2 b2a3 b3.... ...
- 洛谷 P3183 [HAOI2016]食物链
题目描述 如图所示为某生态系统的食物网示意图,据图回答第1小题现在给你n个物种和m条能量流动关系,求其中的食物链条数.物种的名称为从1到n编号M条能量流动关系形如a1 b1a2 b2a3 b3.... ...
- 【BZOJ4562】食物链,拓扑DP
Time:2016.06.15 Author:xiaoyimi 转载注明出处谢谢 传送门 思路: 给出边的关系=被捕食者->捕食者 每一个出度为0且有入度的动物肯定是一个食物链的末尾 倒着建图, ...
- bzoj4562【HAOI2016】食物链
4562: [Haoi2016]食物链 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 216 Solved: 173 [ Submit][ S ...
- --scrapy爬虫--
命令行中建立scrapy工程: scrapy startproject [工程名] 爬虫文件: 在spider目录下新建一个python文件并写入以下内容 import scrapyclass ...
- [DP魔炼][DP] DP随练随学(疯狂A题训练——DP基础篇 题解 下)
终于写完啦!!!!!!!! T28 最大子段和 传送门 维护前缀和 找前面最小的 #include<bits/stdc++.h> using namespace std; #define ...
最新文章
- WPF的消息机制(二)- WPF内部的5个窗口之隐藏消息窗口
- 技术16期:如何更好的保证数据质量【大数据篇】
- 天平游码读数例题_电子天平偏载误差的检定与处理
- shell,自动挂载磁盘
- 类数组arguments
- api 创建zookeeper客户端_一文了解 Zookeeper 基本原理与应用场景
- .net mysql 类库_(精华)2020年6月27日 C#类库 MySqlHelper(Ado.net数据库封装)
- 风投的钱都从哪里来?
- php文字红色代码,IOS_IOS中一段文字设置多种字体颜色代码,给定range和需要设置的颜色, - phpStudy...
- python实现web服务器_python实现静态web服务器
- Javascript 检查对象是否含有这个属性
- mysql5.5创建学生情况表_数据库中创建一个学生表
- 美国软件是如何最终装备在中国攻击直升机上的(二)
- 自动聊天机器人项目班 [一门课搞定聊天机器人]
- 1001系列之案例0003如何对欧洲人口普查数据集整理挖掘
- RTOS那些你得知道的事儿(一)
- Excel:sumifs函数
- 鹏鹏:python 机器学习初学者 三剑客介绍。
- java map存储对象_java-在ConcurrentHashMap中存储复杂对象
- 微信小程序设置顶部navigationBar为颜色渐变
热门文章
- 影响个人计算机系统功能的因素,影响个人计算机系统功能的因素除了系统使用哪种位的微处理器外,还有CPU的时钟频率、CPU主内存容量、CPU所能提供的指令集。...
- 取得二进制最右面为1的数
- 怎么修改ipv4服务器,如何修改ipv4 wins 服务器地址
- java用户名检查数据库_登入界面账号密码是访问数据库,但登入问题时if判断时就是执行不了...
- C语言 | 变量的存储方式
- jq 控制td只显示一行_CSS让表格里的内容强制显示一行,超出长度显示省略号
- linux内核3.14.4,Linux内核4.14.14,4.9.77,4.4.112和3.18.92更新发布
- linux将日期和日历信息追加到文件中_Linux任务调度
- pat 乙级 1012 数字分类(C++)
- 【渝粤题库】陕西师范大学202081 管理学 作业 (专升本、高起本、高起专)