当前位置:网站首页>Sightseeing - statistics of the number of shortest paths + state transfer + secondary small paths
Sightseeing - statistics of the number of shortest paths + state transfer + secondary small paths
2022-07-03 20:14:00 【Wawa source】


#include <iostream>
#include <cstring>
#include <algorithm>
#include <queue>
#include <vector>
using namespace std;
#define x first
#define y second
typedef pair<int, int> PII;
const int N = 1010,M = 10010;
vector<PII>g[N];
int n,m,s,t;
int dist[N][2];
int cnt[N][2];
bool st[N][2];
struct node
{
int ver,type,w;
bool operator > (const node &W)const
{
return w>W.w;
}
};
int dij()
{
memset(dist,0x3f,sizeof dist);
memset(cnt,0,sizeof cnt);
memset(st,0,sizeof st);
dist[s][0]=0;cnt[s][0]=1;
priority_queue<node,vector<node>,greater<node> >heap;
heap.push({
s,0,0});
while(heap.size())
{
auto t=heap.top();
heap.pop();
int u=t.ver,type=t.type,distance=t.w;
if(st[u][type])continue;
st[u][type]=true;
for(auto [v,w] : g[u])
{
if(dist[v][0]>distance+w)
{
dist[v][1]=dist[v][0],cnt[v][1]=cnt[v][0];
heap.push({
v,1,dist[v][1]});
dist[v][0]=distance+w,cnt[v][0]=cnt[u][type];
heap.push({
v,0,dist[v][0]});
}
else if(dist[v][0]==distance+w)
{
cnt[v][0]+=cnt[u][type];
}
else if(dist[v][1]>distance+w)
{
dist[v][1]=distance+w,cnt[v][1]=cnt[u][type];
heap.push({
v,1,dist[v][1]});
}
else if(dist[v][1]==distance+w)
{
cnt[v][1]+=cnt[u][type];
}
}
}
int res=cnt[t][0];
if(dist[t][0]==dist[t][1]-1)res+=cnt[t][1];
return res;
}
signed main()
{
int T;
cin>>T;
while(T--)
{
cin>>n>>m;
int a,b,c;
for(int i=1;i<=n;i++)g[i].clear();
for(int i=1;i<=m;i++)
{
cin>>a>>b>>c;
g[a].push_back({
b,c});
}
cin>>s>>t;
cout<<dij()<<endl;
}
}
边栏推荐
- Wargames study notes -- Leviathan
- Global and Chinese markets of polyimide tubes for electronics 2022-2028: Research Report on technology, participants, trends, market size and share
- Sword finger offer 30 Stack containing min function
- Qtablewidget control of QT
- WPF format datetime in TextBlock- WPF format DateTime in TextBlock?
- Upgrade PIP and install Libraries
- IPv6 experiment
- Test panghu was teaching you how to use the technical code to flirt with girls online on Valentine's Day 520
- First knowledge of database
- How to check the permission to write to a directory or file- How do you check for permissions to write to a directory or file?
猜你喜欢

Machine learning support vector machine SVM

强基计划 数学相关书籍 推荐

Promethus

Phpstudy set LAN access

2.3 other data types

It is discussed that the success of Vit lies not in attention. Shiftvit uses the precision of swing transformer to outperform the speed of RESNET

Xctf attack and defense world crypto advanced area best_ rsa

Chapter 1: find the algebraic sum of odd factors, find the same decimal sum s (D, n), simplify the same code decimal sum s (D, n), expand the same code decimal sum s (D, n)

2.7 format output of values

Acquisition and transmission of parameters in automatic testing of JMeter interface
随机推荐
Xctf attack and defense world crypto master advanced area olddriver
Nacos usage of micro services
6. Data agent object Defineproperty method
4. Data splitting of Flink real-time project
Global and Chinese market of electrolyte analyzers 2022-2028: Research Report on technology, participants, trends, market size and share
P5.js development - setting
unittest框架基本使用
Xctf attack and defense world crypto advanced area best_ rsa
Virtual machine installation deepin system
Explore the internal mechanism of modern browsers (I) (original translation)
Phpstudy set LAN access
About unregistered transfer login page
Global and Chinese market of high temperature Silver sintering paste 2022-2028: Research Report on technology, participants, trends, market size and share
CesiumJS 2022^ 源码解读[7] - 3DTiles 的请求、加载处理流程解析
Global and Chinese market of charity software 2022-2028: Research Report on technology, participants, trends, market size and share
Global and Chinese market of two in one notebook computers 2022-2028: Research Report on technology, participants, trends, market size and share
AcWing 1460. Where am i?
11-grom-v2-05-initialization
2.7 format output of values
Pat grade B 1009 is ironic (20 points)