首页 > 其他分享 >B. Monsters Attack!

B. Monsters Attack!

时间:2024-02-28 17:02:30浏览次数:18  
标签:怪兽 int 回合 Attack mon Monsters unit 怪物

原题链接

题解

什么时候会输?
首先我们要贪心一次性把离自己最近的怪物消灭掉,但是一回合内消灭掉了一个怪物之后还有剩余,我么就把剩余的扣在第二个离自己最近的怪物上
如果我当前回合没有消灭怪物,并且怪物下一回合就到零点,那我就输了
我们可以想象成这样的动画:我们每回合一次性往怪物身上丢出所有的手雷,手雷依次爆炸,直到怪物被炸死,剩余的手雷会返回
所以我们有两个从1开始的线性变量,一个是回合数,一个是怪物下标
然而回合数不确定,所以不能以回合数作为循环主体,然后一个回合可能可以砍掉多个怪兽,也有可能多个回合砍掉一个怪兽,所以我们不能用for循环
然后观察样例发现,进攻时是回合开始时,怪兽移动实在回合结束时,所以判断怪兽在当前回合会不会到零点要在进攻之后判断
当当前怪兽没死,且回合数大于x时,失败

code

#include<bits/stdc++.h>
using namespace std;
struct unit
{
    int a,x;
}mon[300005];

bool cmp(unit a,unit b)
{
    return abs(a.x)<abs(b.x);
}
int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        int n,k;
        cin>>n>>k;
        for(int i=1;i<=n;i++) cin>>mon[i].a;
        for(int i=1;i<=n;i++) cin>>mon[i].x;
        sort(mon+1,mon+1+n,cmp);

        int r=1,i=1,en=k;
        while(i<=n)
        {
            mon[i].a-=en;
            if(mon[i].a<=0)
            {
                en=-mon[i].a;
                i++;
            }
            else
            {
                if(abs(mon[i].x)<=r) break;
                r++;
                en=k;
            }
        }

        if(i==n+1) puts("YES");
        else puts("NO");
    }
    return 0;
}

标签:怪兽,int,回合,Attack,mon,Monsters,unit,怪物
From: https://www.cnblogs.com/pure4knowledge/p/18041040

相关文章

  • Redteam ADCS attack:PTC attack
    Thistextintroduceanewdomainlateralmovementtechnology--PTC(certificatetransportattack).IntroducinganewkindofDCcertificationutilizthinking.Thatis,ifthedomaincontrollerdoesnot supportPKINIT,theLDAPserverusesthecertificatefor......
  • D. Berserk Monsters
    原题链接题解1.最笨的想法,链表,每次在还没被杀死的怪物里遍历一遍,如果被杀死了就从链表中删除这个节点但是TLEon#72.进阶想法,仍然是链表,我们想,如果有些怪物永远都不会被杀死,那我们就没必要遍历它。所以我们从可能被杀死的怪物中遍历如果一个怪物这个回合被杀死,但是在上个回......
  • CF526F Pudding Monsters 题解
    题目链接:CF或者洛谷析合树真是连续段问题的降智神器先看下题目的一些特殊性,每行每列恰好有一个棋子。考虑特殊性,\(n\timesn\)的棋盘,那么就该判断是否有\(n\)个棋子,容易观察到,也就是相当于每一行并且每一列都有一个棋子。而容易知道,这些棋子所在的行或者列拿出来应当是“......
  • PHP LFI/RFI Vulnerability attack bypassing remote URL inclusion restriction
    FileInclusionvulnerabilityInthePHPConfiguration,"allow_url_include" wrapperby-defaultsetto"Off"whichinstructPHPnototloadremoteHTTPorFTPurls.HencepreventRemoteFileInclusionattack.ButPHPdoesnotblockSMBURL......
  • 【代码复现(吐槽向)】Revisiting a Methodology for Efficient CNN Architectures in Pr
    【论文写不出来,痛苦中】这篇文章是我看到框架最简单,效果最好的对于公开数据集的攻击没有之一。代码:KULeuven-COSIC/TCHES20V3_CNN_SCA(github.com)吐槽:1坑:TF的版本问题,有了torch,谁用TF,但是偏偏GITHUB上所有的SCA的代码都是TF写的,还有丧心病狂TF1.x,版本安装几十年,不如选一个服......
  • CF1784C Monsters (hard version) 题解 线段树
    题目链接:https://codeforces.com/problemset/problem/1784/C题目大意:你面前有\(n\)只怪兽,每只怪兽都有一个初始血量,你可以进行两类操作:操作1:选择任意一个血量大于\(0\)的怪兽,并将它的血量降低\(1\);操作2:将所有存活的怪物的血量各自减去\(1\),如果存在怪物的血量恰好降为......
  • [安洵杯 2019]Attack
    [安洵杯2019]Attack打开压缩包得到一个流量包,搜索flag看到一个flag.txt文件放到kali里进行分离,得到一个有密码的压缩包,里面有flag.txt提示“这可是administrator的秘密,怎么能随便给人看呢?”到这一步后不知道怎么做了,找了下师傅们的WP才知道相关知识点和后续步骤在http协......
  • tcache_stashing_unlink_attack
    tcachestashingunlinkattack实现的效果和unsortedbinattack有点相似,可以向任意地址写一个较大的数如果构造合理,还可以实现任意地址分配chunkmalloc.c:line3635if(in_smallbin_range(nb)){idx=smallbin_index(nb);bin=bin_at(av,idx);......
  • Black-Box Attack-Based Security Evaluation Framework forCredit Card Fraud Detect
    Black-BoxAttack-BasedSecurityEvaluationFrameworkforCreditCardFraudDetectionModels动机AI模型容易受到对抗性攻击(对样本添加精心设计的扰动生成对抗性示例)现有的对抗性攻击可以分为白盒攻击和黑盒攻击。白盒攻击:攻击者可以访问有关目标模型的所有信息,包括训练集......
  • [IJCAI 2023]Preventing Attacks in Interbank Credit Rating with Selective-aware G
    [IJCAI2023]PreventingAttacksinInterbankCreditRatingwithSelective-awareGraphNeuralNetwork问题文章研究的是对银行间信用评价的攻击的预防。点是银行,边是银行间的借贷关系。攻击方式有特征攻击(改特征)和结构攻击(加边),目标是点预测。模型选择表示层通过伯努利......