題目->
最短路構造很神啊。
先用前兩個值跑在第三個值模意義下的同餘最短路(這步貪心可以證明,如果第三步長為z,那麼如果n+z可以達到,n+2z同樣可以達到)
最後計算與樓頂差多少個模計算一下就好了(細節:不要忘了自己也是乙個解)。
**:
1 #include2 #include3 #include4 #include5 typedef longlong
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...