首页 > 其他分享 >2024.12.16 周一

2024.12.16 周一

时间:2024-12-17 11:53:13浏览次数:4  
标签:2024.12 ------------------------ his 16 int Monocarp 周一 monsters

2024.12.16 周一


Q1. 1000

Monocarp is playing yet another computer game. And yet again, his character is killing some monsters. There are $n$ monsters, numbered from $1$ to $n$, and the $i$-th of them has $a_i$ health points initially.

Monocarp's character has an ability that deals $k$ damage to the monster with the highest current health. If there are several of them, the one with the smaller index is chosen. If a monster's health becomes less than or equal to $0$ after Monocarp uses his ability, then it dies.

Monocarp uses his ability until all monsters die. Your task is to determine the order in which monsters will die.

------------------------独自思考分割线------------------------

  • 昨天数据结构考试+第二题被位运算加构造卡了,就润了,所以就一道题..

A1.

  1. 在原有的基础上考虑加速加速操作。发现最终顺序和模 $k$ 之后大小有关。按照这种意义排序即可。

------------------------代码分割线------------------------

A1.

#include <bits/stdc++.h>
#define int long long //
#define endl '\n'     // 交互/调试 关
using namespace std;
#define bug(BUG) cout << "bug:# " << (BUG) << endl
#define bug2(BUG1, BUG2) cout << "bug:# " << (BUG1) << " " << (BUG2) << endl
#define bug3(BUG1, BUG2, BUG3) cout << "bug:# " << (BUG1) << ' ' << (BUG2) << ' ' << (BUG3) << endl
void _();
signed main()
{
    ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
    cout << fixed << setprecision(6);
    int T = 1;
    cin >> T;
    while (T--)
        _();
    return 0;
}

void _()
{
    int n, k;
    cin >> n >> k;
    struct Node
    {
        /* data */
        int x, i;
    };
    vector<Node> a(n);
    for (int i = 0; i < n; i++)
    {
        int t;
        cin >> t;
        // a[i].x = k - t % k;
        a[i].x = t % k;
        a[i].x = !a[i].x ? k : a[i].x;
        a[i].i = i;
        // bug2(i + 1, a[i].x);
    }
    sort(a.begin(), a.end(), [](Node &a, Node &b)
         { return a.x - b.x ? a.x > b.x : a.i < b.i; });
    for (auto [x, i] : a)
        cout
            << i + 1 << ' ';
    cout << endl;
}

标签:2024.12,------------------------,his,16,int,Monocarp,周一,monsters
From: https://www.cnblogs.com/jkkk/p/18612026

相关文章

  • 【241216】What I have learnt today
    I. valannotatedString=buildAnnotatedString{}buildAnnotatedStringisafunctionprovidedbyKotlintobuildanAnnotatedStringobject.valannotatedStringisnotdefiningafunction,butdefininganimmutablevariablewhosevalueisbuiltbybuildAnn......
  • 2-2-18-16 QNX系统架构之自适应分区
    阅读前言本文以QNX系统官方的文档英文原版资料为参考,翻译和逐句校对后,对QNX操作系统的相关概念进行了深度整理,旨在帮助想要了解QNX的读者及开发者可以快速阅读,而不必查看晦涩难懂的英文原文,这些文章将会作为一个或多个系列进行发布,从遵从原文的翻译,到针对某些重要概念的穿插引......
  • 12.16随笔
    这里是12.16随笔代码留档:packagecome;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;import......
  • P5773 [JSOI2016] 轻重路径 题解
    Description在二叉树上,不断删除叶子,你要维护其重链剖分后重儿子编号和。如果两个孩子大小相同,在一开始连向左儿子,后面保持修改前的连接。\(n\leq2\times10^5\)。Solution考虑把一个叶子\(x\)删掉会对改变哪些点的重儿子。首先改变的点\(y\)一定在\(x\)到根的链上,同时......
  • 2024/12/16 总结
    2024/12/16总结背包问题(knapsack)背包问题是一类已经被研究的比较透彻的问题,在这道题中你需要考虑背包问题的一个变种.你现在有三个背包,容量分别为......
  • 2024.12.16~2024.12.21
    2024.12.16听说有人拿我的博客当乐子看,我想说,乐子人看什么都是乐子。。。所以我是否要将博客写的幽默深刻一点呢?我觉得也不是不行,但可能没有那个能力早上起床听到闹钟没有起来,心里想着:起床需要爆发力,睡一会再重启,然后我又成功的晚起了。。。上午非常好啊,就是被一道单调队列优......
  • anaconda基础安装(2024.12.16)
     首先我们要知道的是环境,我们运行或者说创建我们的项目时。需要很多的软件包算法函数调用。而不同的项目需要不同函数甚至不同版本的软件包。为了更好的运行自己的项目,我们就需要用到anaconda这个软件去创造这个虚拟环境,将各个项目的环境隔离开,避免冲突。总之先开始教学吧。......
  • 20241216
    会议室类,会议中心类,管理员类,会议申请类,会议人员类会议室类:属性:会议室号,可容纳人数,状态,使用时间方法:会议中心类:属性:会议申请方法:通知开会(),制作代表证()管理员类属性:方法:修改会议(),调整会议()会议召开申请类:属性:申请人姓名,会议人数,开会时间,会议人员方法:修改会议申请(),取消会议......
  • 大数据新视界 -- Hive 数据倾斜问题剖析与解决方案(2 - 16 - 5)
           ......
  • 2024.12.10(周二)
    机器学习大作业importpandasaspdimportnumpyasnpimportseabornassnsimportmatplotlib.pyplotaspltfromsklearn.model_selectionimporttrain_test_split,cross_val_score,GridSearchCVfromsklearn.preprocessingimportStandardScalerfromsklearn.line......