[SDOI2015] 星际战争 题解】的更多相关文章

题目链接: https://www.luogu.org/problemnew/show/P3324 分析: 因为本题的时间点较多,不能枚举,但发现有单调性,于是二分答案,二分使用的时间TTT 每个攻击装置造成的伤害总量已知,为T∗BiT*B_iT∗Bi​,现在有了伤害总量.生命总量,如何判断在TTT时间内,机器人是否被全部打死? 源点S向所有攻击装置连边,流量为T∗BiT*B_iT∗Bi​ 攻击装置向能攻击到的机器人连边,流量为INF 所有机器人向汇点T连边,流量为AiA_iAi​ 验证TTT时…
3993: [SDOI2015]星际战争 Time Limit: 10 Sec  Memory Limit: 128 MBSec  Special JudgeSubmit: 1244  Solved: 560[Submit][Status][Discuss] Description 3333年,在银河系的某星球上,X军团和Y军团正在激烈地作战.在战斗的某一阶段,Y军团一共派遣了N个巨型机器人进攻X军团的阵地,其中第i个巨型机器人的装甲值为Ai.当一个巨型机器人的装甲值减少到0或者以下时,这个巨型…
[BZOJ3993][SDOI2015]星际战争 Description 3333年,在银河系的某星球上,X军团和Y军团正在激烈地作战.在战斗的某一阶段,Y军团一共派遣了N个巨型机器人进攻X军团的阵地,其中第i个巨型机器人的装甲值为Ai.当一个巨型机器人的装甲值减少到0或者以下时,这个巨型机器人就被摧毁了.X军团有M个激光武器,其中第i个激光武器每秒可以削减一个巨型机器人Bi的装甲值.激光武器的攻击是连续的.这种激光武器非常奇怪,一个激光武器只能攻击一些特定的敌人.Y军团看到自己的巨型机器人被X…
3993: [SDOI2015]星际战争 题目:传送门 题解: 洛谷AC了,但是因为bzoj的spj有问题所以暂时没A 一道老题目了,二分时间然后网络流判断. 每次st-->武器连时间*攻击力 武器-->机器人 流量无限 机器人-->ed 流量为血量值 精度有点gou... 代码: #include<cstdio> #include<cstring> #include<cstdlib> #include<cmath> #include<…
3993: [SDOI2015]星际战争 题意:略 R1D2T1考了裸二分答案+二分图最大匹配... #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> using namespace std; typedef long long ll; const int N=105, M=1e5+5, INF=1e9+5;…
BZOJ_3993_[SDOI2015]星际战争_二分+网络流 Description 3333年,在银河系的某星球上,X军团和Y军团正在激烈地作战.在战斗的某一阶段,Y军团一共派遣了N个巨型机器人进攻X军团的阵地,其中第i个巨型机器人的装甲值为Ai.当一个巨型机器人的装甲值减少到0或者以下时,这个巨型机器人就被摧毁了.X军团有M个激光武器,其中第i个激光武器每秒可以削减一个巨型机器人Bi的装甲值.激光武器的攻击是连续的.这种激光武器非常奇怪,一个激光武器只能攻击一些特定的敌人.Y军团看到自己的…
http://www.lydsy.com/JudgeOnline/problem.php?id=3993 二分答案 源点向武器连 mid*攻击力的边 机器人向汇点连 防御力 的边 武器i能攻击机器人j,i向j连 >=j防御力的边 判断最大流是否=防御力 将时间.防御力 * 10000,避免浮点数运算 #include<queue> #include<cstdio> #include<cstring> #include<iostream> using n…
题目:洛谷P3324 [SDOI2015]星际战争 思路: 类似<导弹防御塔>,因为题目保证有解,花费时间小于最终答案时一定无法消灭所有敌人,只要花费时间大于等于最终答案都可以消灭所有敌人,答案满足单调性,考虑二分答案. 二分答案后,转化为判定性问题.当总时间固定,每件武器的总伤害量就确定了. 于是可以按网络流建模:把武器和敌人分成两部分,从源点s向武器连边,容量为该武器可以输出的总伤害量(当前二分到的时间time*该武器的dps):每件武器向可以它攻击到的敌人连边,容量为inf:每个敌人向汇…
\(\color{red}{Link}\) \(\text{Solution:}\) 观察到,如果一个时间\(T\)可以完成任务,则\(T+1\)这个时间也可以完成任务. 于是我们可以二分. 为了避免浮点数,我们可以让时间和血量都乘以\(1000.\)注意攻击力不需要增大,因为时间已经扩大了. 考虑如何网络流建模: 首先,我们把问题转化为\(T\)时间能不能解决.于是,我们可以从源点向激光器连一条容量为攻击力乘以时间的边,每个激光器再向机器人连一条容量无限的边,每一个机器人再向汇点连一条容量为血…
题意 \(m\)个人\(n\)个物品,第\(i\)个物品生命值为\(A_i\),第\(i\)个人每秒可以减少一个物品\(B_i\)的生命值,给出一个\(m \times n\)的矩阵,如果\(i\)行\(j\)列为\(1\),则表示第\(i\)个人可以攻击第\(j\)个物品,否则不能攻击,问至少需要多少秒,能干掉所有物品.一个物品被干掉当且仅当生命值小于等于\(0\).(\(n, m \le 50, 1 \le A_i \le 10^5, 1 \le B_i \le 10^3\) ) 分析 我们…