【拓补排序 TB_sort】P4017 最大食物链计数

P4017 最大食物链计数 链接此处

题目背景

你知道食物链吗?Delia 生物考试的时候,数食物链条数的题目全都错了,因为她总是重复数了几条或漏掉了几条。于是她来就来求助你,然而你也不会啊!写一个程序来帮帮她吧。

题目描述

给你一个食物网,你要求出这个食物网中最大食物链的数量。

(这里的“最大食物链”,指的是生物学意义上的食物链,即最左端是不会捕食其他生物的生产者,最右端是不会被其他生物捕食的消费者。)

Delia 非常急,所以你只有 \(1\) 秒的时间。

由于这个结果可能过大,你只需要输出总数模上 \(80112002\) 的结果。

输入格式

第一行,两个正整数 \(n\)\(m\),表示生物种类 \(n\) 和吃与被吃的关系数 \(m\)

接下来 \(m\) 行,每行两个正整数,表示被吃的生物 A 和吃 A 的生物 B。

输出格式

一行一个整数,为最大食物链数量模上 \(80112002\) 的结果。

输入输出样例 #1

输入 #1

5 7
1 2
1 3
2 3
3 5
2 5
4 5
3 4

输出 #1

5

说明/提示

各测试点满足以下约定:

测试点编号 \(n\) \(m\)
\(1,2\) \(\le 40\) \(\le 400\)
\(3,4\) \(\le 100\) \(\le 2\times 10^3\)
\(5,6\) \(\le 10^3\) \(\le 6\times 10^4\)
\(7,8\) \(\le 2\times 10^3\) \(\le 2\times 10^5\)
\(9,10\) \(\le 5\times 10^3\) \(\le 5\times 10^5\)

对于 \(100\%\) 的数据,\(1 \le n \le 5\times 10^3,1\le m \le 5\times 10^5\)

【补充说明】

数据中不会出现环,满足生物学的要求。(感谢 @AKEE)

分析题意

  • 拓补排序,加上当前val的值即可cnt[v]=(cnt[v]+cnt[u])%mo;
  • 最后答案需要累加所有if(out[i]==0)cnt即可
  • 注意不是cnt[v]+=cnt[u]%mo;这样只会对加数进行取模(靠,之前一直不过就是因为这个)

自己AC代码 见本地文件夹中的 TB_sort_t1.cpp

点击查看该代码
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;int n,m;
vector<int>e[N],ans;
int to[N],cnt[N],out[N],in[N];//to:可变入度  in:原始入度
const int mo=80112002;
queue<int>q;int main()
{#ifndef ONLINE_JUDGEfreopen("c.in","r",stdin);freopen("c.out","w",stdout);#endif// BEGIN!cin>>n>>m;for(int i=1,u,v;i<=m;i++){cin>>u>>v;e[u].push_back(v);to[v]++,in[v]++;out[u]++;}for(int i=1;i<=n;i++) if(to[i]==0) q.push(i),cnt[i]=1;while(q.size()){int u=q.front();q.pop();// ans.push_back(u);for(auto v:e[u]){to[v]--;cnt[v]=(cnt[v]+cnt[u])%mo;if(to[v]==0) q.push(v);}}int Sum=0;for(int i=1;i<=n;i++){if(out[i]==0) Sum+=cnt[i]%mo;}cout<<Sum%mo<<endl;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/991356.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年深圳GEO优化公司推荐:AI驱动时代的流量突围伙伴

2025年的深圳,生成式AI技术的爆发式增长正重塑企业流量获取逻辑,当用户在豆包、文心一言等主流AI引擎中检索需求时,品牌能否成为优先推荐的信源,直接决定了市场竞争力。在此背景下,GEO生成式引擎优化(生成式引擎…

2025年11月儿童营养品牌测评指南——选对不踩坑

孩子挑食偏食、身高体重不达标、换季容易生病,这些问题总能牵动家长的心弦。据《中国居民膳食指南》数据显示,我国3-12岁儿童钙缺乏率达58.3%,锌缺乏率34.2%,科学补充营养成为家庭育儿的重要课题。但面对琳琅满目的…

2025年深圳AI搜索排名优化公司推荐

2025年的深圳,AI搜索浪潮已从技术探索迈向商业落地的深水区,GEO优化(生成式引擎优化)与AI搜索排名优化共同构建起品牌流量竞争的新赛道。中国信通院数据显示,今年国内GEO市场规模已突破148亿元,年复合增速达53%,…

【AI大模型技术】2.神经网络 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

P3120 [USACO15FEB] Cow Hopscotch G

洛谷 由于需要考虑颜色的问题,所以可以考虑将总方法减去相同颜色的方案数,以此得到本次的结果。 使用前缀和,得到此处的方案总数。 然后就需要考虑如何处理颜色的问题了,由于需要进行区间修改与查询,很容易想到使…

Easysearch 2.0.0 性能测试

Easysearch 2.0.0 正式版性能全面提升:索引、查询及内存管理(GC)等核心性能均获显著优化。概述 Easysearch 2.0.0 正式版带来了显著的性能提升和优化改进。通过与上一个稳定版本 1.15.6 的全面对比测试,我们使用 e…

ABC435

过了三个题之后代码都不想写了,然后直接摆烂到比赛结束,掉大分。 C 竞选最乱搞做法。 对于第 \(i\) 个多米诺骨牌,可以影响到的区间的右端点是 \(a_i=\min\left\{a_i+i-1,n\right\}\)。定义一个 \(p\) 表示目前倒下…

散修带你入门鸿蒙应用开发基础:启程篇(上) - 鸿蒙

走进鸿蒙开发的世界 本阶段目标了解系统定位:掌握鸿蒙“面向全场景的分布式操作系统”核心定义,厘清“全场景”“分布式”的具体内涵,明确与传统单设备系统的设计理念差异。 熟知技术架构:熟悉鸿蒙四层架构(应用层…

PowerShell TOTP 身份验证器

简介双因素认证(2FA)已经成为如今最常见的安全机制,而基于时间的一次性密码(TOTP: Time-based One-Time Password)则是其中最广泛使用的技术之一。 我们平时使用的 Google Authenticator、Microsoft Authenticato…

分库分表是同一个实例内的多个不同库/不同表吗

“分库分表”绝不是简单地在 同一个 MySQL 实例 里放多个库和表。那不叫分库分表,那叫 玩具分库分表,没有任何意义。 下面我把场景讲透,让你彻底理解 分库、分表、为什么不能在同一个实例、生产怎么搞。✅ 1. 分库分…

基于STM32标准库的FreeRTOS移植与任务创建 - 详解

基于STM32标准库的FreeRTOS移植与任务创建 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas",…

Launch X431 PRO Elite: Full System CAN FD Active Tester OBD2 Scanner for Euro/American Cars

Solve Modern Automotive Diagnostics Head-On with the Launch X431 PRO Elite Diagnostic Frustration? In the world of European and American automotive repair, time is critical—and outdated tools waste i…

linux 中gzip、bzip2、xz压缩、解压缩

001、gzip[root@PC1 test]# ls a.txt [root@PC1 test]# ll -h total 39M -rw-r--r--. 1 root root 39M Dec 7 11:28 a.txt [root@PC1 test]# gzip -c a.txt > a.txt.gz ## 压缩 [root@PC1 test]# ll -h…

2025 最新工业机器人应用服务商 / 厂家 TOP5 评测!科技赋能 + 全生命周期服务权威榜单发布,重构智能制造生态

随着工业机器人应用成为制造业智能化升级的核心驱动力,市场对专业服务商的需求持续攀升。本榜单基于技术创新力、行业适配性、服务效能、全生命周期管理四大维度,结合行业实践案例与技术白皮书数据反馈,权威解析202…

【Java EE进阶 --- SpringBoot】统一特性处理

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Launch X431 PRO3 V+ Elite: Bi-Directional, ECU Coding Topology Mapping for Euro/Amer Vehicles

The Future of Automotive Diagnostics: Launch X431 PRO3 V+ Elite Delivers Precision, Speed, and Versatility Modern Vehicles Demand Modern Solutions Today’s European and American cars are more complex t…

linux单用户模式

linux单用户模式1.救援模式 可以用来修改系统配置文件,修改密码等 #方法一:开机时按e进入内核选项,在内核Linux16行把ro改成rw,行末删除到quite前追加rd.break,然后ctrl+x进入 #方法二:开机时按e进入内核选项,在…

20232405 2025-2026-1 《网络与系统攻防技术》实验八实验报告

20232405 2025-2026-1 《网络与系统攻防技术》实验八实验报告1. 实践内容(1)编写含有表单的前端代码,启用Apache,访问对应网页(2)在前端代码的基础上编写JavaScript验证用户名、密码,登陆后回显用户名,并尝试注…

实用指南:最小作用量原理MATLAB仿真

实用指南:最小作用量原理&MATLAB仿真2025-12-07 11:42 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: bloc…

2025液体钙权威品牌推荐,首选inne液体钙

液体钙因吸收高效、胃肠刺激小、服用便捷等优势,已成为全年龄段补钙的首选剂型。但市场上产品良莠不齐,有的钙源难吸收,有的配方单一,有的添加成分不安全。本榜单聚焦“精准分龄+科学配方”双重维度,筛选出真正高…