BZOJ 4562|HAOI 2016|食物链|动态规划
来源:互联网 发布:java 开源 paas 平台 编辑:程序博客网 时间:2024/04/19 11:39
写水题掉RP啦
我记得这个还是去年学长研究性学习的内容之一。。不过很水就是了。。
题目大意
求食物网的食物链条数
题解
DAG DP
不想写拓扑排序了,所以写了记忆化搜索。
#include <stdio.h>const int N = 100005, M = N * 2;int dp[N], h[N], p[M], v[M], in[N], entry[N], cnt = 0;void add(int a, int b) { p[++cnt] = h[a]; v[cnt] = b; h[a] = cnt; ++in[b];}void dfs(int x) { for (int i = h[x]; i; i = p[i]) { dp[v[i]] += dp[x]; --in[v[i]]; if (!in[v[i]]) dfs(v[i]); }}int main() { int n, m, i, a, b, ans = 0; scanf("%d%d", &n, &m); while (m--) scanf("%d%d", &a, &b), add(a, b); for (i = 1; i <= n; ++i) entry[i] = !in[i] && h[i]; for (i = 1; i <= n; ++i) if (entry[i]) dp[i] = 1, dfs(i); for (i = 1; i <= n; ++i) if (!h[i]) ans += dp[i]; printf("%d", ans); return 0;}
4562: [Haoi2016]食物链
Description
如图所示为某生态系统的食物网示意图,据图回答第1小题
现在给你n个物种和m条能量流动关系,求其中的食物链条数。
物种的名称为从1到n编号
M条能量流动关系形如
a1 b1
a2 b2
a3 b3
……
am-1 bm-1
am bm
其中ai bi表示能量从物种ai流向物种bi,注意单独的一种孤立生物不算一条食物链
Input
第一行两个整数n和m,接下来m行每行两个整数ai bi描述m条能量流动关系。
(数据保证输入数据符号生物学特点,且不会有重复的能量流动关系出现)
1<=N<=100000 0<=m<=200000
题目保证答案不会爆 int
Output
一个整数即食物网中的食物链条数
Sample Input
10 161 21 41 102 32 54 34 54 86 57 67 98 59 810 610 710 9
Sample Output
9
0 0
- BZOJ 4562|HAOI 2016|食物链|动态规划
- BZOJ 1044 HAOI 2008 木棍分割 二分 贪心 动态规划
- HAOI 2016 食物链 -(记忆化搜索)
- BZOJ 4562: [Haoi2016]食物链
- 【BZOJ】4562 [Haoi2016]食物链
- BZOJ 4562 [Haoi2016]食物链
- BZOJ 4562 [Haoi2016]食物链
- BZOJ 4562 [Haoi2016]食物链
- BZOJ 1050 HAOI 2006 旅行comf SPFA动态加点
- BZOJ 2300 HAOI 2011 防线修建 动态维护凸包
- BZOJ-4563 [HAOI-2016] 放棋子 错排问题+高精度
- [BZOJ 4565][HAOI 2016] 字符合并 状压DP+区间DP
- BZOJ 4562 食物链【记忆化搜索啊】
- [BZOJ 4562] 食物链 拓扑排序+递推
- 【bzoj 4562】食物链(DP+拓扑)HAOI2016
- 动态规划 BZOJ 1002 轮状病毒
- BZOJ 4247: 挂饰|动态规划
- BZOJ 4321: queue2|动态规划
- java中final与static的区别
- 2015级C++第10、11周实践项目 继承和派生
- 多区域OSPF动态路由配置(拓扑图)
- STL浅析
- bzoj 3823: 定情信物
- BZOJ 4562|HAOI 2016|食物链|动态规划
- 嵌入式系统开发常用网址
- 异常
- web工程中通过类加载器读取配置文件
- PAT-B 1010. 一元多项式求导
- 广度 / 深度优先搜索
- cf489D. Unbearable Controversy of Being
- C游戏 简单迷宫游戏开发
- 继承与多态的理解