题目链接:https://www.luogu.org/problemnew/show/P3393 被占领的点可以先连在一个点上然后只需要对这一个点bfs一遍就可以求所有的危险点 #include <bits/stdc++.h> #define ll long long using namespace std; const int maxn = 2 * 1e5 + 10; ll n, m, k, s, val[2], danger[maxn], ddis[maxn], dis[maxn], ch…
[luogu3393]逃离僵尸岛 luogu 先把被禁止的点和新建的虚点n+1连0边 跑最短路,dis<=s的点价格为Q,否则为P, 再建图跑最短路 #define ll long long #include<bits/stdc++.h> using namespace std; const int N=100005,M=500005; int re(){ int x=0,w=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch==…
好吧原题是守望者的逃离,我强行改了一波题面,因为信仰=-=(? May the force be with us. 绝地跑步速度为17m/s,但无法逃离荒岛.绝地的原力恢复速度为4点/s,只有处在原地才能恢复绝地神行术需消耗10点原力,使用神行术,一秒可移动60m已知绝地的魔法初值为M,所在的初始位置与岛的出口之间的距离为S,岛沉没的时间为T,计算绝地用多久才能逃离荒岛,若不能逃出,输出守望者剩下的时间走的最远的距离 当不能逃出时,我们要求最远距离那么我们将子问题化为f[i]表示在第i秒时的最远…