小W計樹

小W計樹


排列組合思想.
先跑一遍最短路, 再從1節點開始搜索, 假如搜到一個點的路徑長度等于最短路, 則記錄到達該點的路徑數 + 1.
最后遍歷一遍, ans *= rec[i]
輸出答案即可.
關鍵在于想到這個排列組合的思想.

#include<cstdio>
#include<cstring>
#include<algorithm>
#define F(x) for (L i=h[x],v=e[i].v,w=e[i].w;i;i=e[i].next,v=e[i].v,w=e[i].w) 
using namespace std;
typedef long long L;
void read(L &x) {x=0;char c=getchar();for (;c<'0' || c>'9';c=getchar());for (;'0'<=c && c<='9';c=getchar()) x=x*10+c-'0'; 
}
const L Q=2147483647;
const L maxn=1e3+10;
const L maxm=maxn*maxn;
struct edge {L v,w,next;
} e[maxm];
L tot=0,h[maxn];
inline void add(L u,L v,L w) {e[++tot].v=v;e[tot].w=w;e[tot].next=h[u];h[u]=tot; 
}
L q[maxm],ql,qr,d[maxn];
bool inq[maxn];
void spfa(L s) {memset(inq,0,sizeof inq);memset(d,0x3f,sizeof d);ql=qr=1;q[qr]=s;d[s]=0;inq[s]=true;while (ql<=qr) {L u=q[ql++];F(u) if (d[v]>d[u]+w) {d[v]=d[u]+w;if (!inq[v]) inq[v]=true,q[++qr]=v;}inq[u]=false;}
}
L sum[maxn];
void check(L s) {memset(inq,0,sizeof inq);memset(sum,0,sizeof sum);ql=qr=1;q[qr]=s;d[s]=0;inq[s]=true;while (ql<=qr) {L u=q[ql++];F(u) if (d[v]==d[u]+w) {sum[v]++;if (!inq[v]) inq[v]=true,q[++qr]=v;}}
}
int main() {#ifndef ONLINE_JUDGEfreopen("test.in","r",stdin);#endifL n,m;read(n),read(m);for (L i=1;i<=m;++i) {L u,v,w;read(u),read(v),read(w);add(u,v,w),add(v,u,w);}   spfa(1);check(1);L ans=1;for (L i=1;i<=n;++i) if (sum[i]) (ans*=sum[i])%=Q;printf("%lld\n",ans);
}

轉載于:https://www.cnblogs.com/ZeonfaiHo/p/6402856.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/270504.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/270504.shtml
英文地址,請注明出處:http://en.pswp.cn/news/270504.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java jsonp 接口_jsonp使用,spring4.x對jsonp的支持

1.java中接口RequestMapping("/token/{token}")ResponseBodypublic Object getUserByToken(PathVariable String token,String callback) {Person per null;try {per userService.getPerson(token);} catch (Exception e) {e.printStackTrace();per ExceptionUtil…

CPU知識:主頻、核心、線程、緩存、架構

我們都說CPU相當于人類的大腦&#xff0c;在日常生活中&#xff0c;人腦是術業有專攻&#xff0c;有人天生適合搞藝術&#xff0c;有人天生適合搞科學。CPU作為計算機的大腦&#xff0c;其實也是這樣的。下面就帶大家了解一下CPU知識以及怎么選擇合適的CPU。 CPU有幾個重要的參…

@SpringBootTest注解進行單元測試無法運行

1&#xff1a;用idea新建一個項目 2:在測試類下建一個方法&#xff0c;發現方法沒法運行 查看資料之后發現是需要在對應的方面名稱前面和類名前面加上public修飾符即可&#xff0c;需要測試那個方法執行哪個方法就行 3:加了 public發現可以運行了

java如何改注釋_關于Java:更改字符串值的注釋

在spring或java中是否有注釋可以轉換給定的字符串&#xff1f;例如&#xff0c;Spring具有注釋Value(" some string")。 如果我想為該字符串分配一個轉換后的值&#xff0c;而不是向參數/實例變量分配"某些字符串"怎么辦&#xff1f; 假設字符串為" f…

視頻接口:DP接口和HDMI接口介紹,看完你就懂了

目錄 一、DP接口 二、HDMI接口 三、總結 1、技術支持的不同 2、帶寬支持的不同 3、廠商制作成本的不同 電腦顯示器高清傳輸通過會用到兩個接口&#xff0c;就是DP接口和HDMI接口&#xff0c;今天電腦學習小編帶大家對比一下這兩個接口。 一、DP接口 DisplayPort縮寫DP&#xff…

區間型DP

區間型DP是一類經典的動態規劃問題&#xff0c;主要特征是可以先將大區間拆分成小區間求解最后由小區間的解得到大區間的解。 有三道例題 一、石子合并 在一個圓形操場的四周擺放N堆石子,現要將石子有次序地合并成一堆.規定每次只能選相鄰的2堆合并成新的一堆&#xff0c;并將新…

后端:MyBatis緩存知識介紹

今天給大家分享一下MyBatis緩存知識介紹&#xff0c;希望對大家日常的開發當中能有所幫助&#xff01;一、MyBatis一級緩存1、一級緩存介紹當我們的程序MyBatis開啟一次和數據庫的會話&#xff0c;MyBatis會自動創建出一個SqlSession對象表示這一次數據庫的會話。在同一個數據庫…

軟件:10款免費無廣告的看圖軟件,總有一款適合你

目錄 一、專業型看圖軟件 1.Windows照片 2.Honeyview 3.EzViewer 4.XnView MP 5.JPEGView 6.Irfan View 二、綜合型文件查看 1.Quicklook 2.愛奇藝萬能聯播 3.WPS圖片 4.谷歌瀏覽器 一、專業型看圖軟件 1.Windows照片 Windows自帶的照片應用就是一款比較強大的看圖軟件&#xf…

機器學習的簡單邏輯回歸的Advanced Optimization

Learning Course: One variable logistic regression optimization 單變量&#xff08;只有一個特征&#xff09;的用于分類的邏輯回歸的cost function的最小值求解, here: x[x1;x2]; y{0,1}; theta[theta(1);theta(2)] 由于分類中的y值需為0-1之間的數值&#xff0c;因此這里的…

java float f1=0.5_Java Math類靜態float copySign(float f1,float f2)與示例

數學類float copySign(float f1&#xff0c;float f2)此方法在java.lang包中可用。此方法用于返回第一個浮點參數以及第二個浮點參數的符號。這是一個靜態方法&#xff0c;因此也可以使用類名進行訪問。在此方法中&#xff0c;我們傳遞了兩個參數作為參數&#xff1a;第一個參數…

Sentinel介紹與使用

一、Sentinel簡介 Sentinel是阿里開源的項目&#xff0c;提供了流量控制、熔斷降級、系統負載保護等多個維度來保障服務之間的穩定性。 二&#xff1a;Sentinel 功能和設計理念 流量控制 流量控制在網絡傳輸中是一個常用的概念&#xff0c;它用于調整網絡包的發送數據。然而…

電腦知識:BIOS和UEFI的對比介紹

??作者主頁&#xff1a;IT技術分享社區 ??作者簡介&#xff1a;大家好,我是IT技術分享社區的博主&#xff0c;從事C#、Java開發九年&#xff0c;對數據庫、C#、Java、前端、運維、電腦技巧等經驗豐富。 ??個人榮譽&#xff1a; 數據庫領域優質創作者&#x1f3c6;&#x…

緩存更新的套路

看到好些人在寫更新緩存數據代碼時&#xff0c;先刪除緩存&#xff0c;然后再更新數據庫&#xff0c;而后續的操作會把數據再裝載的緩存中。然而&#xff0c;這個是邏輯是錯誤的。試想&#xff0c;兩個并發操作&#xff0c;一個是更新操作&#xff0c;另一個是查詢操作&#xf…

怎樣獲取當前頁面值php,想要得到當前頁面的所有url參數信息怎么用PHP來實現?...

本篇文章主要給大家介紹怎么使用php獲取完整url。首先給新手小白們簡單介紹下什么是url。百度百科上是這么解說的&#xff0c;統一資源定位符是對可以從互聯網上得到的資源的位置和訪問方法的一種簡潔的表示&#xff0c;是互聯網上標準資源的地址。互聯網上的每個文件都有一個唯…

@PostConstruct注解學習,最詳細的分享教程

該注解可以實現在運行工程時&#xff0c;自動運行該注解下的方法&#xff1b; PostConstruct是java自帶的注解&#xff0c;指的是在項目啟動的時候執行這個方法&#xff0c;也可以理解為在spring容器啟動的時候執行&#xff0c;可作為一些數據的常規化加載&#xff0c;比如數據…

電腦知識:分享實用的電腦維護小常識

目錄 常識1&#xff1a;杜絕直接拔電腦電源強行關機 常識2&#xff1a;不要用電池玩游戲 常識3&#xff1a;開不了機可以嘗試插拔內存條 常識4&#xff1a;電腦散熱的處理方法 常識5&#xff1a;避免在電腦工作時拔插頭 今天小編就為大家帶來一些電腦日常實用中的維護小知識&am…

Sentinel實現黑白名單控制詳細教程來了

一&#xff1a;新建一個IpRequestOriginParser類&#xff0c;實現RequestOriginParser接口&#xff0c;配置如下 public class IpRequestOriginParser implements RequestOriginParser {/*** Parse the origin from given HTTP request.** param request HTTP request* return …

php獲取服務器名稱,PHP 獲取服務器詳細信息

獲取系統類型及版本號&#xff1a; php_uname() (例&#xff1a;Windows NT COMPUTER 5.1 build 2600)只獲取系統類型&#xff1a; php_uname(s) (或&#xff1a;PHP_OS&#xff0c;例&#xff1a;Windows NT)只獲取系統版本號&#xff1a; php_u…

D. Anton and Chess 模擬題 + 讀題

http://codeforces.com/contest/734/problem/D 一開始的時候看不懂題目&#xff0c;以為象是中國象棋那樣走&#xff0c;然后看不懂樣例。 原來是走對角線的&#xff0c;長知識了。 所以我們就知道&#xff0c;王有八個方向&#xff0c;所以每個方向選一個來做代表就行了。 那么…