首页 > 其他分享 >905 路径数量统计

905 路径数量统计

时间:2025-01-16 12:32:47浏览次数:1  
标签:905 int 路径 样例 long 109 include 统计

// 905 路径数量统计.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
/*
http://oj.daimayuan.top/course/22/problem/1044

给你一张有向图,图中可能存在重边和自环,请求出从点 u
 出发经过恰好 k条边后到达点 v的通路的条数。由于答案可能很大,请输出答案模 109+7。

输入格式
第一行两个整数 n,m分别表示点数和边数。

接下来 m 行,每行两个整数 x,y
,表示从 x到 y有一条有向边。

最后一行三个整数 u,v,k 表示询问。

输出格式
一行一个数表示答案模 109+7的结果。

样例输入
2 3
1 2
2 1
1 1
1 2 3
样例输出
2
数据范围
对于 100%的数据,保证 1≤n≤200,1≤m≤104,1≤x,y,u,v≤n,1≤k≤109。
*/
#include <iostream>
#include <cstring>

using namespace std;

const int N = 210, MOD = 1000000007;
long long a[N][N];
long long f[N];
int n, m, u, v, k;



void fa() {
	long long w[N];
	memset(w, 0, sizeof w);
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= n; j++) {
			w[i] += f[j] * a[j][i]; 
			w[i] %= MOD;
		}
	}

	memcpy(f, w, sizeof w);
}

void aa() {
	long long w[N][N];
	memset(w, 0, sizeof w);
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= n; j++) {
			for (int k = 1; k <= n; k++) {
				w[i][j] += a[i][k] * a[k][j];
				w[i][j] %= MOD;
			}
		}
	}
	memcpy(a, w, sizeof w);
}

void matrixpow(int k) {
	while (k) {
		if (k & 1)
			fa();

		aa();
		k >>= 1;
	}
}


int main()
{
	cin >> n >> m;
	for (int i = 1; i <= m; i++) {
		int j, k; cin >> j >> k;
		a[j][k]++;
	}
	cin >> u >> v >> k;
	f[u] = 1;
	matrixpow(k);

	cout << f[v] << endl;

	return 0;
}

标签:905,int,路径,样例,long,109,include,统计
From: https://www.cnblogs.com/itdef/p/18674760

相关文章

  • 上传图片后无法正常显示,路径显示为物理地址怎么办?
    当您在网站上上传图片后发现它们不能正常显示,而是显示为物理路径时,这通常是由于网站配置或文件权限设置不当造成的。针对这个问题,我们可以采取以下几个步骤来进行排查和修复:检查网站根目录配置:确保网站的根目录配置正确无误。例如,在Apache或Nginx服务器中,需要确认DocumentRoot指......
  • LeetCode 1773. 统计匹配检索规则的物品数量
    在这个问题中,我们被要求统计一个物品数组中满足特定检索规则的物品数量。每个物品由其类型、颜色和名称定义,而检索规则由规则键和规则值指定。我们的任务是找出数组中满足这些规则的物品数量。问题描述解题思路定义索引映射:首先,我们需要定义一个映射,将规则键("type"、"color......
  • 基于yolov4深度学习网络的排队人数统计系统matlab仿真,带GUI界面
    1.算法仿真效果matlab2022a仿真结果如下(完整代码运行后无水印):  仿真操作步骤可参考程序配套的操作视频。 2.算法涉及理论知识概要       在现代社会的众多场景中,如银行、车站、餐厅等,排队人数的统计对于资源分配、服务优化以及人员管理等方面具有极为重......
  • 技术领先的基于Excel的统计学分析和机器学习软件XLSTAT®
     技术领先的基于Excel的统计学分析和机器学习软件XLSTAT® XLSTAT®是一款强大的Excel数据统计分析和机器学习插件,使您可以在Excel中轻松分析和重新格式化数据。在学术研究和私人企业业务研究中,数据是最为重要的信息来源。无论您所在的专业领域是什么,您需要强大、......
  • Php+Mysql统计网页总访问次数和实时在线人数-海云博客
    自己写了一个统计,一个简单的网站流量统计,不错拿出来分享。可以统计当前页面的总访问次数和当前页面的实时在线人数。还可以显示你进入多少次。样式还有彩色背景渐变盒子,鼠标滑过或点击变成彩色直线,其他样式可以自己再改改。废话不多说直接上代码。海云博客 | 此文章链接:ht......
  • 【ROS2】实操Movei2!路径规划
     本篇文章需要将前面几个关于moveit的内容手敲以便,熟悉基本流程再来实操! 一、规避障碍物1.1AddincludeforPlanningSceneInterface添加引用头文件:#include<moveit/planning_scene_interface/planning_scene_interface.h>1.2ChangetheTargetPose重新设定目标......
  • 分类统计字符个数(PTA)C语言
    本题要求实现一个函数,统计给定字符串中英文字母、空格或回车、数字字符和其他字符的个数。函数接口定义:voidStringCount(chars[]);其中chars[]是用户传入的字符串。函数StringCount须在一行内按照letter=英文字母个数,blank=空格或回车个数,digit=数字字符......
  • springboot图书管理系统-计算机毕业设计源码39050
    摘 要21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准确、快速、完善,并能提高工作管理效率,促进其发展。该系统采用了先进的图书管理理......
  • 2025年最新大模型学习路径,从入门到精通,学完即就业【LLM学习路线】
    LLMFundamentals基础1.机器学习的数学基础在掌握机器学习之前,理解支撑这些算法的基本数学概念非常重要。线性代数:这是理解许多算法(特别是深度学习算法)的关键。主要概念包括向量、矩阵、行列式、特征值和特征向量、向量空间以及线性变换。微积分:许多机器学习算法涉......
  • 场景题:如何实现亿级用户在线状态统计?
    近两年不知道大家有没有发现,现在的面试中《场景题》问的越来越多了,一方面是就业市场竞争者较多所带来的必然结果;另一方面是随着时间的推移,公司对于应聘者的技术要求也越来越高了,这时候只会八股文就不够了,你还得会更难的场景题才行。所以,今天我们就来盘Java中的常见面试题《如何......