題目傳送門
看了標籤恍然大悟
我們可以二分所用的時間\(t\),然後對於每乙個**,從源點向它們連長度為傷害\(\times t\)的邊,然後**向它們能攻擊的敵人連長度為\(\inf\)的邊,對於每個敵人,向匯點連長度為它們血量的邊
然後跑最大流即可
因為要至少保留\(2\)位小數,為了便於處理,將所有生命和時間都乘了\(10000\)
#include #include #include #include #include #define ll long long
#define inf 2147483647777777ll
using namespace std;
ll read()
while(c >= '0' && c <= '9')
return k * f;
}struct zzz e[10010 << 1]; int head[210], tot = 1;
void add(int x, int y, ll z)
int s, t, vis[210];
bool bfs() }}
return vis[t];
}ll dfs(int x, ll flow)
}if(rest < flow) vis[x] = 0;
return rest;
}ll dinic()
ll a[210], b[210], k; bool ff[210][210];
int main()
printf("%lf", (double)l/10000);
return 0;
}
SDOI2015 星際戰爭(網路流)
由於時間可能是小數,所以不能直接跑。先二分答案為 ttt。s ss 向每個雷射 i ii 連一條容量為 bi tb i times t bi t 的邊,表示這個雷射 最多能輸出多少。然後每個機械人向 t tt 連一條容量為 a ia i ai 的邊,表示這個機械人至少需要這麼多攻擊才能被摧毀。接著每...
SDOI2015第1輪第2試 星際戰爭
3333年,在銀河系的某星球上,x軍團和y軍團正在激烈地作戰。在戰鬥的某一階段,y軍團一共派遣了n個巨型機械人進攻x軍團的陣地,其中第i個巨型機械人的裝甲值為ai。當乙個巨型機械人的裝甲值減少到0或者以下時,這個巨型機械人就被摧毀了。x軍團有m個雷射 其中第i個雷射 每秒可以削減乙個巨型機械人bi的...
3993 SDOI2015 星際戰爭
time limit 10 sec memory limit 128 mbsec special judge submit 1069 solved 489 submit status discuss 3333年,在銀河系的某星球上,x軍團和y軍團正在激烈地作戰。在戰鬥的某一階段,y軍團一共派遣了n個...