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,一经查实,立即删除!

相关文章

android 服务端 导入工程,如何导入与配置从网上下载的android源代码及服务器端源代码...

将Android项目导入import进Eclipse。 注意SDK版本是否匹配 。 服务器部署到Tomcat下。 你得在数据库中将这个点菜系统的数据库和表建好&#xff0c;或者导入。在服务器的代码中修改好你的数据库名和密码。首先看你的服务器配置的是什么环境 一般就2种 linux系统 window系统&…

mysql: 模糊查询 feild like keyword or feild like keyword , concat(feild1,feild2,feild3) like keyword...

mysql: 模糊查询 feild like %keyword% or feild like% keyword% , 或者 concat(feild1,feild2,feild3) like %keyword% 转载于:https://www.cnblogs.com/achengmu/p/6877852.html

android按钮控件常见问题,Android的基本控件和Activity的应用总结

Android的基本控件常用界面控件TextView 显示文本信息button 普通按钮EditText 可编辑的文本框组件(输入框)ImageView 用于显示图片ImageBUtton 图片按钮CheckBox 复选框RadioGroup 单选按钮组Spinner 下拉列表组件ProgressBar进度条SeekBar拖动条RatingBar评分组件ListView列表…

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

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

android tv字体,best登陆「永久地址0365.tv」android默认字体android使用代码使用新的字体的常用代码...

页面类类名称&#xff1a;MainActivitypackage com.example.android_fonts_test;import android.support.v7.app.ActionBarActivity;import android.content.Context;import android.graphics.Typeface;import android.os.Bundle;import android.view.Menu;import android.view…

android 交叉编译so,Android交叉编译htop和使用方法

htop来源于top&#xff0c;top是Unix/linux下功能强大的性能检测工具之一&#xff0c;用于实时检测并统计进程的属性和状态&#xff0c;基于ncurses库&#xff0c;可上显示文字界面。但是top已经非常陈旧&#xff0c;不支持鼠标点击操作&#xff0c;不支持查看进程的各个子线程…

Java笔记(08):面向对象--抽象类

1、抽象类概述&#xff1a; 1 /*2 抽象类的概述&#xff1a;3 动物不应该定义为具体的东西&#xff0c;而且动物中的吃&#xff0c;睡等也不应该是具体的。4 我们把一个不是具体的功能称为抽象的功能&#xff0c;而一个类中如果有抽象的功能&#xff0c;该…

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…

Android中怎获取json,Android应用中如何解析获取的json数据

Android应用中如何解析获取的json数据发布时间&#xff1a;2020-11-24 17:10:08来源&#xff1a;亿速云阅读&#xff1a;107作者&#xff1a;Leah这篇文章将为大家详细讲解有关Android应用中如何解析获取的json数据&#xff0c;文章内容质量较高&#xff0c;因此小编分享给大家…

Hibernate4之session核心方法

在学习session的核心方法之前&#xff0c;我们先了解下hibernate中几种对象的状态&#xff1a; 暂时状态&#xff1a;这样的状态就好像咱们公司请的暂时员工一样&#xff0c;他在公司里没有相关的资料和id。 特点&#xff1a;在使用代理主键的情况下, OID 通常为 null 不…

Android 同步锁死锁,Android多线程研究(3)——线程同步和互斥及死锁

为什么会有线程同步的概念呢&#xff1f;为什么要同步&#xff1f;什么是线程同步&#xff1f;先看一段代码&#xff1a;package com.maso.test;public class ThreadTest2 implements Runnable{private TestObj testObj new TestObj();public static void main(String[] args)…

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;不可能源然界的一可再生能于自源可源和再生分为存在次能。状态中表并发儿麻体温生的婴幼易发间低醉期症(…

1807. [NOIP2014]寻找道路P2296 寻找道路

题目描述 在有向图G 中&#xff0c;每条边的长度均为1 &#xff0c;现给定起点和终点&#xff0c;请你在图中找一条从起点到终点的路径&#xff0c;该路径满足以下条件&#xff1a; 1 &#xff0e;路径上的所有点的出边所指向的点都直接或间接与终点连通。 2 &#xff0e;在满足…

html页面 wordpress,WordPress纯代码实现前端页面HTML完美压缩

前言&#xff1a;压缩HTML页面的好处就是略微提升页面加载速度&#xff0c;并给那些爱扒皮的缺德玩意制造些许麻烦。好了将如下代码添加在functions.php中即可&#xff1a;//压缩WordPress前端html代码function wp_compress_html(){function wp_compress_html_main ($buffer){$…

js中的作用域

关于变量和参数问题&#xff1a; 函数外面定义的变量是全局变量&#xff0c;函数内可以直接使用。 在函数内部没有使用var定义的变量则为全局变量&#xff0c;在函数内使用var关键字定义的变量是局部变量&#xff0c;即出了函数外边无法获取。 js函数定义的参数没有默认值&…

html HTML1300 进行了导航,jquery根据文章H标签自动生成导航目录

jquery根据文章H标签自动生成导航目录2017-11-19 20:57在一些旅游网站&#xff0c;比如说途牛、携程这些&#xff0c;当你看某条线路的详情页时&#xff0c;右边会有相应的第一天、第二天等的目录。这么大的网站&#xff0c;不可能后台添加行程的时候&#xff0c;每一天都要自动…