ECR102E 求減掉最長邊加上最短邊的最短路

2022-05-01 11:00:09 字數 1218 閱讀 5033

題:

題意:求減掉最長邊加上最短邊的最短路

分析:多出了倆維,第一維0/1:是否去掉這條邊,第二維0/1:是否加上這條邊,答案就是套上dij後的dis[ i ] [ 1 ] [ 1 ]

#includeusing

namespace

std;

#define pb push_back

#define mp make_pair

#define um unordered_maptypedef

long

long

ll;const

int mod=1e9+7

;const

int inf=0x3f3f3f3f

;const ll inf=1e18;

#define pi 3.1415926535898

#define dec (pi/180)

#define lson root<<1,l,midd

#define rson root<<1|1,midd+1,r

#define lc root<<1

#define rc root<<1|1

const

int m=2e5+5

;ll dis[m][

2][2

];int book[m][2][2

];vector

< pair >g[m];

void

pn()

void

py()

struct

node

bool

operator

< (const node &b)const

};priority_queue

que;

void dij(int

n)

if(f0==0&&dis[v][1][f1]>cost)

if(f1==0&&dis[v][f0][1]>cost+2*w)

if(f0==0&&f1==0&&dis[v][1][1]>cost+w)}}

}int

main()

dij(n);

for(int i=2;i<=n;i++)

printf(

"%lld

",dis[i][1][1

]);

return0;

}

view code

C語言中 s, 5 3s, e, 10 2e的意思

前兩個都是s格式符,用來輸出字串。m.ns 輸出佔m列,但只取字串中左端n個字元。這n個字元輸出在m列的右側,左補空格。include stdafx.h include include int main 輸出結果 後兩個都是e格式符,以指數形式輸出實數。1.e 不指定輸出資料所佔的寬度和數字部分的小...