最大食物链计数

news/2025/3/4 19:00:23/文章来源:https://www.cnblogs.com/benscode/p/18751166

题目链接:https://www.luogu.com.cn/problem/P4017

题意:

求有多少条最大食物链

思路:

记dp[i]是以第i种生物作为食物链末尾时,最大生物链的条数

所以通过拓补序,每次都转移,最后找到出度为0的点,累加dp即可

注意状态转移以及答案的累加都需要取模

#include<bits/stdc++.h>
#define rep(i,a,n) for(int i=a;i<=n;i++)
#define pb push_back
#define endl "\n"
#define int long long
#define fi first
#define se second
//#pragma GCC optimize(3)
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef __int128 lll;
typedef pair<int,int> pii;
const int inf=0x3f3f3f3f;
const ll llmax=LLONG_MAX;
const int maxn=1e5+5;
const int mod=80112002;
queue<int>q;
void solve(){int n,m;cin>>n>>m;vector<int>dout(n+1,0);vector<int>din(n+1,0);vector<int>e[5005];rep(i,1,m){int u,v;cin>>u>>v;e[u].pb(v);din[v]++;dout[u]++;}vector<int>dp(n+1,0);for(int i=1;i<=n;i++){if(din[i]==0){q.push(i);dp[i]=1;}}while(!q.empty()){int x=q.front();q.pop();for(auto point:e[x]){dp[point]+=dp[x]%mod;if(--din[point]==0){q.push(point);}}}int ans=0;for(int i=1;i<=n;i++){if(dout[i]==0){ans=(ans%mod+dp[i]%mod)%mod;}}cout<<ans%mod;
}signed main()
{ios::sync_with_stdio(false),cin.tie(0);int T=1;while(T--){solve();}return 0;
}

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

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

相关文章

【python免杀】CS免杀+浅谈Python静态免杀

本文我们再来看看利用python进行静态免杀吧! 先用CS生成 shellcode 把shellcode进行加密放在里面并存放到服务器。 python BS64 shellcode.txt这里为了方便,我们直接放到了kali的apache目录下。 并启动Apache service apache2 start修改加载器的服务器地址后进行一次BS64加密…

【python免杀】浅谈Python静态免杀

本文我们再来看看利用python进行静态免杀吧! 先用CS生成 shellcode 把shellcode进行加密放在里面并存放到服务器。 python BS64 shellcode.txt这里为了方便,我们直接放到了kali的apache目录下。 并启动Apache service apache2 start修改加载器的服务器地址后进行一次BS64加密…

c#桌面winform通过wps调用power point文件播放,播放完立刻退出不留痕迹

c#桌面winform通过wps调用power point文件播放,播放完立刻退出,不留痕迹.c#桌面winform通过wps调用power point文件播放,播放完立刻退出,不留痕迹. 以前一直用微软的office那个interop,愁死了,版本动不动就不对,加上国产化要求,干脆研究了一下换成wps office。原创,转…

【红队武器库】一些C2的隐藏方法记录

介绍 C2是指网络攻击者使用的一种基础架构,用于远程控制受感染的计算机或网络。攻击者可以通过C2系统发送命令和指令,控制受感染的计算机执行各种活动。本文将记录几种隐藏C2的方法。 使用CDN 1、在 (https://www.freenom.com) 注册一个免费域名,并将其绑定到您的 VPS 地址上…

阿里云可观测 2025 年 2 月产品动态

阿里云可观测 2025 年 2 月产品动态

c# 托管堆和垃圾回收的clr的优化

前言 上一章介绍了基本垃圾回收的思路,那么看一下怎么回收的性能提高 正文 优化性能的手段,一般是找到事物的特征,然后利用这种特征进行优化。对象越新,生存期越短。对象越老,生存期越长。回收堆的一部分,速度快于回收整个堆。托管堆在初始化时不包含对象。添加到堆的对象…

HTTP 隧道工具上线C2

前言 太多时候遇到目标不出网了,TCP、ICMP、DNS协议均不通,无法直接与公网的cobaltstrike或者metasploit服务端建立连接。 只能搭建HTTP隧道,那能通过HTTP隧道上线cobaltstrike或者metasploit吗❓ pystinger [1] 就可以做到,那除此之外呢❓ 接下来,我们探究一下其他HTTP隧…

【权限维持技术】Windows文件隐藏(二)

免责声明 本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者及本公众号不为此承担任何责任。NTFS数据流 “交替数据流(Alternate Data Streams, ADS)”是Windows NTFS文件系统的高级特性。文件中可以包含多…

UML之参与者(Actor)

参与者是需求分析阶段的重要元素,指与待开发系统交互的外部实体,包括人、外部系统、传感器、数据库等。识别参与者需注意区分真正的参与者和传递型参与者。参与者通常用小人图像表示,在UML用例图中与用例通过关联线连接。参与者(Actor)是模型中非常重要的元素,识别参与者…

【权限维持技术】Windows文件隐藏(一)

免责声明 本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者及本公众号不为此承担任何责任。简介 文件隐藏是后门规避检查的一个重要手段,是权限维持中关键的一环。Windows操作系统可以使用多种方式进行文件…

Deepseek等AI技术冲击下,Salesforce业务岗位如何保住自己的工作?

“世界变化太快了!”——这句话几乎成了每个职场人的口头禅。尤其是对于Salesforce顾问来说,技术的迭代速度更是让人应接不暇。你还记得10年前的Salesforce是什么样子吗?每天穿着正装、打着领带,坐在办公室里从早忙到晚,用着Salesforce Classic,手动部署变更集(Change S…