DAG 求u到v路径数

news/2024/9/21 1:38:31/文章来源:https://www.cnblogs.com/sadlin/p/18395756

DAG 求u到v的路径数

image

先拓扑排序求出每个点的顺序,再对每个起点 \(s\) 做 dp,遍历拓扑序的点,对 \(s\) 能到达的点做 dp 统计路径数,如果终点 \(t\) 拓扑序在 \(s\) 之前就说明没有路径。

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define N 200005
const int mod=1e9+7;int n,m,qq;int cnt=0;
struct Edge{int to,next;
}edge[2*N];
int head[N];void add_edge(int u,int v){cnt++;edge[cnt].to=v;edge[cnt].next=head[u];head[u]=cnt;
} int in[N];
queue<int> q;vector<int> a;void topo_sort(){for(int i=1;i<=n;i++){if(!in[i]){q.push(i);}}while(!q.empty()){int x=q.front();q.pop();a.push_back(x);for(int i=head[x];i!=-1;i=edge[i].next){int y=edge[i].to;if(--in[y]==0){q.push(y);}}}
}int ans[N];void dp(int s){for(int i=1;i<=n;i++){ans[i]=0;} ans[s]=1;for(int i=0;i<a.size();i++){int x=a[i];if(ans[x]>0){//起点 s 能到这个点 for(int j=head[x];j!=-1;j=edge[j].next){ans[edge[j].to]+=ans[x];ans[edge[j].to]%=mod;	}}}
}int main(){ios::sync_with_stdio(false);cin>>n>>m>>qq;for(int i=1;i<=n;i++){head[i]=-1;} for(int i=1;i<=m;i++){int u,v;cin>>u>>v;add_edge(u,v);in[v]++;}topo_sort();for(int i=1;i<=qq;i++){int s,t;cin>>s>>t;dp(s);cout<<ans[t]<<"\n";	}return 0; 
}

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

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

相关文章

晶振并联的1M电阻

晶振并联的1M电阻 与晶振并联的1M电阻是什么用?为何有的有用,有的没有用?应该如何选择? 在实际的产品设计时,针对晶振部分的电路,你会发现会有下面2种电路,图1电路中,没有1M的电阻;图2电路中,晶振会并联一个1M的电阻。晶振电路的相关问题1M电阻具体是什么作用呢?为什…

利用分布式锁在ASP.NET Core中实现防抖

前言 在 Web 应用开发过程中,防抖(Debounce) 是确保同一操作在短时间内不会被重复触发的一种有效手段。常见的场景包括防止用户在短时间内重复提交表单,或者避免多次点击按钮导致后台服务执行多次相同的操作。无论在单机环境中,还是在分布式系统中都有一些场景需要使用它。…

智慧水利河湖AI智能视频分析识别系统

智慧水利河湖AI智能视频分析识别系统运用视频结构型技术性,根据图像处理与分析,创建图像与图像叙述两者之间的投射关联,掌握视频图像中的內容,运用于水利管理方法情景。智慧水利河湖AI智能视频分析识别系统运用视频智能搜索分析,根据对非结构性原创设计视频数据信息的智能…

视频监控系统智能识别分析

视频监控系统智能识别分析可以合理处理因为监控点太多,工作人员没办法监控考虑到全部监控情景。传统监控是“处于被动监控”通常只有在“事件”发生后根据启用视频回看查找线索。视频监控系统智能识别分析主要特点是应用机器视觉,在几乎不用人工干涉的情形下,根据海康或者大…

加油站AI智能视频监控分析系统

加油站AI智能视频监控分析系统可以根据视频总流量分析技术,使优化算法实体模型替代人的眼睛,即时鉴别加油站内部的工作过程中的安全规范、员工行为准则等问题。加油站AI智能视频监控分析系统优化算法实体模型可以精确捕获违规操作,全年度24个小时无间断,各种不良行为并发送…

智能视频分析ai图像精准智能识别

智能视频分析ai图像精准智能识别包含图像解决、数字图像处理、行为识别、状态识别 、视频帧全自动监控分析,体现了智能视频分析ai图像精准智能识别的工作能力。根据智能视频分析ai图像精准智能识别,智能视频内嵌式识别专用工具可以分析监控视频监管下的图像,并将合理信息内容…

ai行为识别技术监控

ai行为识别技术监控系统软件是一种以行为识别技术为关键技术的深度学习算法,根据人工智能化神经元网络,构造大家的主要模块架构,ai行为识别技术监控 依据我们的轨迹测算各种各样健身运动行为,根据视频转码技术、流媒体播放技术、数字矩阵技术、云技术等,ai行为识别技术监控…

ai视频监控分析软件

ai视频监控分析软件助力生产安全是建筑行业遵循道德底线的重要保障。ai视频监控分析软件是根据人工智能化机器视觉科研开发的,合理地监控了人们的不正常个人行为和监控视频照片中的所有目标的行为跟状态,并传出了报警信息。ai视频监控分析软件连接音频输出设备可以在前面传出…

视频监控智能图像识别

视频监控智能图像识别技术实际上是一种,它为建筑工程施工品质和安全工作给予了优秀的方式方法。施工人员的安全隐患因为欠缺高度重视或因为缺少较好的监管方式 ,导致安全事故的次数较高。视频监控智能图像识别根据在施工工地安装的各种各样不限品牌的监控设备,可以有效的填补…

图穷匕见-所有反DDD模式都是垃圾

本文书接上回《主观与客观,破除DDD凭经验魔咒》,关注公众号(老肖想当外语大佬)获取信息:最新文章更新;DDD框架源码(.NET、Java双平台);加群畅聊,建模分析、技术实现交流;视频和直播在B站。开个玩笑 “我不是针对这一个问题,我是说所有的反DDD模式都是垃圾”,作为教…

AI视频分析解决方案

AI视频分析解决方案在视频行业的使用已经逐步步入大家的日常生活、面部识别、个人行为分析、车辆识别等场景。AI视频分析解决方案可以应用于包含前端处理和后台预警提醒、监控视频、视觉系统等。AI视频分析解决方案根据视频流分析,捕获脸部,检验照片中的脸部,并标识脸部外框…

VMware ESXi 8.0U3 macOS Unlocker 标准版和厂商定制版更新 OEM BIOS 2.7 支持 Windows Server 2025

VMware ESXi 8.0U3 macOS Unlocker 标准版和厂商定制版更新 OEM BIOS 2.7 支持 Windows Server 2025VMware ESXi 8.0U3 macOS Unlocker 标准版和厂商定制版更新 OEM BIOS 2.7 支持 Windows Server 2025 VMware ESXi 8.0U3 macOS Unlocker & OEM BIOS 2.7 标准版和厂商定制版…