洛谷P3403跳樓機(最短路構造 同餘最短路)

2022-05-09 14:27:10 字數 1150 閱讀 8293

題目->

最短路構造很神啊。

先用前兩個值跑在第三個值模意義下的同餘最短路(這步貪心可以證明,如果第三步長為z,那麼如果n+z可以達到,n+2z同樣可以達到)

最後計算與樓頂差多少個模計算一下就好了(細節:不要忘了自己也是乙個解)。

**:

1 #include2 #include3 #include4 #include5 typedef long

long

lnt;

6struct

pnt15 }p[1000000

];16

/*class heap

30return ;31}

32void pop(void)

3346

return ;47}

48int top(void)

4952

bool empty(void)

5356

private:

57pnt ln[1000000];

58int siz;

59}q;

*/60 std::priority_queueq;

61struct

ente[1000000

];66

lnt h;

67int

x,y,z;

68int

cnt;

69lnt ans;

70void ade(int f,int

t,lnt v)

7179

void init(void)80

86 p[1%z].dis=1;87

return;88

}89void dij(void)90

107}

108}

109return

;110

}111

intmain()

112120

dij();

121for(int i=0;i)

122if(p[i].dis<=h)

123 ans+=((h-p[i].dis)/z+1

);124 printf("

%lld\n

",ans);

125return0;

126 }

洛谷P3403 跳樓機(最短路)

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

洛谷P3403 跳樓機

題目傳送門 套路題,同餘最短路。先只考慮y z進行連邊,再在mod x的意義下進行計算。這裡的 距離 dis i 指的是,在所有滿足a mod x i的a裡,能到達的最小的a是多少。顯然只要能到達dis i 每次加x即可到達dis i 上面所有mod x i的樓層。最後根據計算出來的dis來統計答案...

洛谷P3403 跳樓機

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