洛谷P3403 跳樓機

2022-05-09 20:01:56 字數 1151 閱讀 1649

題目傳送門

套路題,同餘最短路。

先只考慮y、z進行連邊,再在mod x的意義下進行計算。

這裡的「距離」dis[i]指的是,在所有滿足a mod x=i的a裡,能到達的最小的a是多少。

顯然只要能到達dis[i],每次加x即可到達dis[i]上面所有mod x=i的樓層。

最後根據計算出來的dis來統計答案。

統計到mod x=i的情況時,答案為(h-dis[i])/x+1。

其意義是,dis[i]到h的所有樓層,所有mod x=i的都可到達,即每x個就有乙個可到達。

這麼分析一波,這道題就很簡單了。

然而我寫dijkstra的時候,把小於號過載反了,wa聲一片......

1 #include2 #include3 #include4 #include5

#define ll long long

6using

namespace

std;78

ll h,ans;

9int

x,y,z,ec;

10int hd[100005],nx[200005],to[200005

];11 ll dis[100005],len[200005

];12

bool v[100005

];13

14void edge(int af,int

at,ll el)

1521

22struct

data

2330

};31

32 priority_queueqq;

3334

void

dijkstra()

35);

39while(!qq.empty())

40);51}

52}53}

54}5556

intmain()

5764

dijkstra();

65for(int i=0;i)

66if(dis[i]<=h)

67 ans+=(h-dis[i])/x+1

;68 printf("

%lld

",ans);

69return0;

70 }

洛谷P3403 跳樓機

srwudi 的家是一幢 h 層的摩天大樓。由於前來學習的蒟蒻越來越多,srwudi 改造了乙個跳樓機,使得訪客可以更方便的上樓。經過改造,srwudi 的跳樓機可以採用以下四種方式移動 向上移動 x 層 向上移動 y 層 向上移動 z 層 回到第一層。乙個月黑風高的大中午,djl 來到了 srwu...

洛谷P3403 跳樓機(最短路)

題目背景djl為了避免成為乙隻鹹魚,來找srwudi學習壓 的技巧。題目描述srwudi的家是一幢h層的摩天大樓。由於前來學習的蒟蒻越來越多,srwudi改造了乙個跳樓機,使得訪客可以更方便的上樓。經過改造,srwudi的跳樓機可以採用以下四種方式移動 向上移動x層 向上移動y層 向上移動z層 回到...

P3403 跳樓機 同餘最短路

傳送門 題意 思路 轉換一下題目就是用若干x,y zx,y,z x,y,z能湊出來多少個 h h h 的數。先考慮兩個數y,z y,zy,z的情況,我們如果能求出來這兩個數能湊出來的數設為sum sumsu m,讓後sum kx h sum kx h sum kx h 求出來有多少個k即可。然鵝直接...