hdu 6026 Deleting Edges(最短路计数)

题目链接:hdu 6026 Deleting Edges

题意:

给你n个点,和一个邻接矩阵,非0表示有边,0表示没边。

现在让你删一些边,构成一棵树,使得每个点到0这个点的距离为没删边之前的最短路。

问有多少棵这样的树。

题解:

首先,题意说从0点开始对每个点都最短路,那么用单源最短路就能搞定。

如何来计数呢?

对于每一个点,我们记录能到底这点的最短路的条数,那么能够成题目要求的那种树的数量就是

ans=cnt[1]*cnt[2]*...*cnt[n-1]。

 1 #include<cstdio>
 2 #define F(i,a,b) for(int i=a;i<=b;i++)
 3 using namespace std;
 4 typedef long long ll;
 5 
 6 const int N=55,inf=1e9+7;
 7 int n,cnt[N],inq[N],dis[N],Q[1000];
 8 char mp[N][N];
 9 
10 void spfa()
11 {
12     F(i,1,n)dis[i]=inf,inq[i]=0,cnt[i]=0;
13     int head=0,tail=0;
14     inq[0]=1,Q[0]=0;
15     while(head!=tail+1)
16     {
17         int x=Q[head++];
18         inq[x]=0;
19         F(v,1,n-1)if(mp[x][v]!='0')
20         {
21             if(dis[v]>dis[x]+mp[x][v]-'0')
22             {
23                 cnt[v]=1;
24                 dis[v]=dis[x]+mp[x][v]-'0';
25                 if(inq[v]==0)Q[++tail]=v,inq[v]=1;
26             }else if(dis[v]==dis[x]+mp[x][v]-'0')cnt[v]++;
27         }
28     }
29 }
30 
31 int main()
32 {
33     while(~scanf("%d",&n))
34     {
35         F(i,0,n-1)scanf("%s",mp[i]);
36         spfa();
37         ll ans=1;
38         F(i,1,n-1)ans=ans*cnt[i]%inf;
39         printf("%lld\n",ans);
40     }
41     return 0;
42 }
View Code

 

转载于:https://www.cnblogs.com/bin-gege/p/6873717.html

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

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

相关文章

Xamarin XAML语言教程构建进度条ProgressBar

Xamarin XAML语言教程构建进度条ProgressBar Xamarin XAML语言教程构建进度条ProgressBar&#xff0c;ProgressBar被称为进度条&#xff0c;它类似于没有滑块的滑块控件。进度条总是水平放置的。本节将讲解如何使用进度条。注意&#xff1a;进度条在各个平台下基本相同&#xf…

mac删除android sd卡,如何从mac完全删除android及其所有文件?

前一段时间我试图让科尔多瓦工作&#xff0c;但android模拟器永远不会启动。它只是挂着一个黑色的屏幕。如何从mac完全删除android及其所有文件&#xff1f;我原来是用brew install android-sdk安装的。然后我读了一个糟糕的地方。所以我已经删除它并安装了Android Studio。无论…

201521123023《Java程序设计》第13周学习总结

1. 本周学习总结 &#xff08;1&#xff09;网络中为了进行数据交换&#xff08;通信&#xff09;而建立的规则、标准或约定(语义语法规则)称之为协议&#xff08;常用http/ftp&#xff09; &#xff08;2&#xff09;大致熟悉了TCP协议&#xff0c;但是UDP怎么辣么蓝&#xff…

QML与C++交互:登陆界面设计

QML与C交互:登陆界面设计 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境&#xff1a; 主机:WIN7 开发环境:Qt5.2.1 说明: QML设计前台界面,C后台负责逻辑 效果图: 源码: 前台qml文件 login.qml /******************************************************…

html怎么在字体中加波浪线,CSS3实现文字波浪线效果

前言css的设计之巧妙&#xff0c;实现之精妙&#xff0c;细细寻味&#xff0c;其妙非凡&#xff0c;妙不可言。这波浪线&#xff0c;取巧的运用了linear-gradient属性&#xff0c;合角度、颜色、位置于一体&#xff0c;配合background-size&#xff0c;background-repeat&#…

NET Core 指令启动

ASP.NET Core 是新一代的 ASP.NET&#xff0c;早期称为 ASP.NET vNext&#xff0c;并且在推出初期命名为ASP.NET 5&#xff0c;但随着 .NET Core 的成熟&#xff0c;以及 ASP.NET 5的命名会使得外界将它视为 ASP.NET 的升级版&#xff0c;但它其实是新一代从头开始打造的 ASP.N…

html文本显示状态代码中,HTML文本显示状态代码中,表示?

文本如何大小判别偏心受压剪力墙的。能源能量然资提供的自是指源&#xff0c;显示如(&#xff0c;显示能、能、能、能、、热等的械能是机生物原子光能化学总称&#xff0c;不可能源然界的一可再生能于自源可源和再生分为存在次能。状态中表并发儿麻体温生的婴幼易发间低醉期症(…

[LeetCode]Distinct Subsequences,解题报告

题目 Given a string S and a string T, count the number of distinct subsequences of T in S.A subsequence of a string is a new string which is formed from the original string by deleting some (can be none) of the characters without disturbing the relative po…

2021年河南高考成绩排名查询一分一段表,2018河南高考一分一段统计表,查排名必备!...

原标题&#xff1a;2018河南高考一分一段统计表&#xff0c;查排名必备&#xff01;&#xff1a;点击这里信息省招办公布了2018年普通高招分数段统计表&#xff0c;对每个分数段有多少考生进行了详细统计。你考了多少分&#xff1f;处在哪个位置&#xff1f;快来看看&#xff0…

实用的css样式

当字数超过一行时&#xff0c;可以用...代替 white-space: nowrap; overflow: hidden; text-overflow: ellipsis; 这三个样式同时使用才有效&#xff0c;也可以去掉white-space样式&#xff0c;分两行 转载于:https://www.cnblogs.com/maggie-php/p/6906462.html

(2021|CoRR,AugCLIP,优化)FuseDream:通过改进的 CLIP+GAN 空间优化实现免训练文本到图像生成

FuseDream: Training-Free Text-to-Image Generation with Improved CLIPGAN Space Optimization 公众&#xff1a;EDPJ&#xff08;添加 VX&#xff1a;CV_EDPJ 或直接进 Q 交流群&#xff1a;922230617 获取资料&#xff09; 目录 0. 摘要 1. 简介 2. CLIPGAN 文本到图…

中文邮件营销html模版,怎么制作邮件营销模板?— —邮件格式

怎么制作邮件营销模板&#xff1f;— —邮件格式U-Mail邮件营销平台发表时间 2017-09-21人气 757次做EDM邮件营销&#xff0c;需要有好的邮件群发工具&#xff0c;还要有好的内容&#xff0c;那么如何制作好邮件营销的模板呢&#xff1f;现在U-Mail邮件群发平台根据已有的一些经…

angularJS中,怎么阻止事件冒泡

今天有个童鞋问我&#xff0c;ng怎么阻止事件冒泡&#xff0c;我就简单的贴一下代码吧&#xff0c;也不是什么好高大上的问题 转载于:https://www.cnblogs.com/leoshuaige/p/6910646.html

用计算机画好看的图形,如何画一手漂亮的电脑效果图?技巧案例赏析!

原标题&#xff1a;如何画一手漂亮的电脑效果图&#xff1f;技巧&案例赏析&#xff01;电脑效果图是什么&#xff1f;很显然&#xff0c;用电脑去绘制设计师的想法。当然&#xff01;所有的设计意图&#xff0c;最终都是为了更准确的成衣。那么&#xff0c;能精准的表达出想…

适合文科女孩子学的计算机类专业,文科女生最吃香的专业2021 哪些专业有前景...

文科女生最吃香的专业2021 哪些专业有前景2021-03-27 14:36:27文/丁雪竹文科女生可以报考的专业并不是很多&#xff0c;小编整理了文科女生吃香的专业&#xff0c;来看一下&#xff01;文科女生最吃香的专业网络与新媒体这个专业是近几年流行起来的新兴专业&#xff0c;需求量还…

Ubuntu16.04下Mongodb官网安装部署步骤(图文详解)(博主推荐)

不多说&#xff0c;直接上干货&#xff01; 在这篇博客里&#xff0c;我采用了非官网的安装步骤&#xff0c;来进行安装。走了弯路&#xff0c;同时&#xff0c;也是不建议。因为在大数据领域和实际生产里&#xff0c;还是要走正规的为好。 Ubuntu16.04下Mongodb&#xff08;离…

uva 11971 Polygon

https://vjudge.net/problem/UVA-11971 有一根长度为n的木条&#xff0c;随机选k个位置把它们切成k1段小木条。求这些小木条能组成一个多边形的概率。 将木条看做一个圆&#xff0c;线上切k刀等价于圆上切k1刀 如果能组成多边形&#xff0c;每一段木条的长度都要<圆周长/2 反…

Charles - 接口抓包分析工具

Charles是一个HTTP代理服务器&#xff0c;反转代理服务器&#xff0c;HTTP监视器。它允许一个开发者查看所有连接互联网的HTTP通信&#xff0c;包括request、 response现HTTP headers &#xff08;包含cookies与caching信息&#xff09;。 下载&#xff1a; http://www.charle…

表现与数据分离;前台MVC

无意间看到一个web前端招聘要求&#xff1a;表现与数据分离 这名词对我非常陌生&#xff0c;我就去百度了下 由于有各种莫名其妙的需求&#xff0c;所以才会出现我们前端MVC这样的莫名其妙的东西。。。我们的html就是model&#xff0c;我们的css就是view。我们的js就是controll…

使用EFI引导从硬盘(U盘)安装Win7的图文教程

眼下仅支持vista后的64位系统大部分使用EFI引导安装Win7的教程都是採用光盘启动安装&#xff0c;尽管光盘安装比較简单&#xff0c;可是对于没有光驱的朋友来说还是相当不便&#xff0c;更不用说光盘安装的两大缺点了&#xff0c;一速度慢&#xff0c;二不灵活。因此本篇教程将…