Educational Codeforces Round 152 (Rated for Div. 2)

B. Monsters

题意:你的攻击力为k,你优先攻击血量最多的怪物,血量相同击杀编号小的,问怪物被击杀的顺序,

思路:我们可以知道最后肯定存在一个状态,所有怪物就差一次攻击就死了,这个状态取决于其血量是否可以整除k,那么我们计算这种状态,排序一下就行

#include <bits/stdc++.h>
using namespace std;
#define pi acos(-1)
#define xx first
#define yy second
#define endl "\n"
#define int long long
#define pb push_back
typedef pair<int, int> PII;
#define max(a, b) (((a) > (b)) ? (a) : (b))
#define min(a, b) (((a) < (b)) ? (a) : (b))
#define Ysanqian ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
const int N = 1e6 + 10, M = 1010, inf = 0x3f3f3f3f, mod = 998244353;
int n, k;
struct node
{int x, id;
} a[N];
bool cmp(node a, node b)
{if (a.x == b.x)return a.id < b.id;return a.x > b.x;
}
int ans[N];
void solve()
{int n, k;cin >> n >> k;for (int i = 1; i <= n; i++){int xx;cin >> xx;if (xx % k != 0)a[i].x = xx % k;elsea[i].x = k;a[i].id = i;}sort(a + 1, a + 1 + n, cmp);for (int i = 1; i <= n; i++){cout << a[i].id << " ";}cout << endl;
}
signed main()
{Ysanqian;int T;// T = 1;cin >> T;while (T--)solve();return 0;
}

C. Binary String Copying

题意:给你一个01串,m个操作,每次给出左端点,右端点,将其左右端点之间的字符串排序

思路:对区间[ l , r ],如果区间已经有序等于没操作.

对于一个区间,显然前缀的0和后缀的1是没用的,所以我们只需找到第一个1的位置 ′,最后一个0的位置′,其实等价于给[′ , ′]排序,拿个set维护以下这种等价类有多少种即可

思路转之知乎大佬 

#include <bits/stdc++.h>
using namespace std;
#define pi acos(-1)
#define X first
#define Y second
#define endl "\n"
#define int long long
#define pb push_back
typedef pair<int, int> PII;
#define max(a, b) (((a) > (b)) ? (a) : (b))
#define min(a, b) (((a) < (b)) ? (a) : (b))
#define Ysanqian ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
const int N = 1e6 + 10, M = 1 << 10, inf = 0x3f3f3f3f, mod = 998244353;
int n, m;
void solve()
{string s;set<PII> res;cin >> n >> m;cin >> s;vector<int> pre(n, -1), back(n, n); // 初始化就是把1111......000000这种情况解决了,这样就是无前缀0,无后缀1,相当于(-1~n)for (int i = 0; i < n; i++)			// 前缀0{if (i != 0)pre[i] = pre[i - 1];if (s[i] == '0')pre[i] = i;}for (int i = n - 1; i >= 0; i--) // 后缀1,逆序前缀就行{if (i != n - 1)back[i] = back[i + 1];if (s[i] == '1')back[i] = i;}for (int i = 1; i <= m; i++){int l, r;cin >> l >> r;l--, r--;int rr = pre[r], ll = back[l];if (ll > rr)res.insert({-1, -1});elseres.insert({ll, rr});}cout << res.size() << endl;
}
signed main()
{Ysanqian;int T;// T=1;cin >> T;while (T--)solve();
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/11170.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AWS / VPC 云流量监控

由于安全性、数据现代化、增长、灵活性和成本等原因促使更多企业迁移到云&#xff0c;将数据存储在本地的组织正在使用云来存储其重要数据。亚马逊网络服务&#xff08;AWS&#xff09;仍然是最受追捧和需求的服务之一&#xff0c;而亚马逊虚拟私有云&#xff08;VPC&#xff0…

LED芯片 VAS1260IB05E 带内部开关LED驱动器 汽车硬灯带灯条解决方案

VAS1260IB05E深力科LED芯片是一种连续模式电感降压转换器&#xff0c;设计用于从高于LED电压的电压源高效驱动单个或多个串联连接的LED。该设备在5V至60V之间的输入电源下工作&#xff0c;并提供高达1.2A的外部可调输出电流。包括输出开关和高侧输出电流感测电路&#xff0c;该…

UE4/5C++多线程插件制作(十七、封装协程管理)

目录 MTPThreadInterface.h MTPManageBase.h MTPCoroutinesManage.h MTPManage.cpp MTPManage.h 添加继承: cpp实现: MTPThreadTaskMan

双系统的一些设置

1、windows和ubuntu双系统时间不同步的问题&#xff1a; 在安装Windows和Ubuntu双系统时&#xff0c;两个操作系统会分别使用自己的时间设置。Windows默认使用本地时间&#xff08;Local Time&#xff09;&#xff0c;而Ubuntu则默认使用协调世界时&#xff08;Coordinated Un…

TypeScript 在前端开发中的应用实践

TypeScript 在前端开发中的应用实践 TypeScript 已经成为前端开发领域越来越多开发者的首选工具。它是一种静态类型的超集&#xff0c;由 Microsoft 推出&#xff0c;为开发者提供了强大的静态类型检查、面向对象编程和模块化开发的特性&#xff0c;解决了 JavaScript 的动态类…

趋动科技携手星辰天合,推出针对人工智能领域的两款联合解决方案

近日&#xff0c;趋动科技与 XSKY星辰天合联合宣布&#xff0c;结合双方优势能力和产品&#xff0c;携手推出高性能数据湖一站式方案及全协议存算一体化方案&#xff0c;帮助客户简化 AI 工作的 IT 基础设施部署&#xff0c;实现 AI 相关工作更加灵活和便捷。 全协议存算一体化…

janus-Gateway的服务端部署

janus-Gateway 需求是前后端的webRTC推拉流&#xff0c;但是后端用的是c&#xff0c;于是使用了这个库做视频流的推送和拉取&#xff0c;记录踩坑过程。 如果你也需要自己部署janus的服务端并在前端拉流测试&#xff0c;希望对你有所帮助。 由于janus的服务器搭建需要linux环境…

树莓派Pico|RP2040|官方文档|在MS Windows上构建“Hello World”及环境配置

9.2. 在MS Windows上构建 在Microsoft Windows 10或Windows 11上安装工具链与其他平台有些不同。然而安装后&#xff0c;RP2040的构建代码基本类似。  警告 官方不支持在Windows 7或8上使用Raspberry Pi Pico&#xff0c;但在Windows 7或8上可以使其工作。 9.2.1. 安装工具…

docker中设置容器健康检查

文章目录 一、docker-compose方式二、Dockerfile方式三、docker run方式四、查看检查日志 一、docker-compose方式 在docker-compose中加入healthcheck healthcheck 支持下列选项&#xff1a; test&#xff1a;健康检查命令&#xff0c;例如 ["CMD", "curl&quo…

向npm注册中心发布包(上)

目录 1、创建package.json文件 1.1 fields 字段 1.2 Author 字段 1.3 创建 package.json 文件 1.4 自定义 package.json 的问题 1.5 从当前目录提取的默认值 1.6 通过init命令设置配置选项 2、创建Node.js 模块 2.1 创建一个package.json 文件 2.2 创建在另一个应用程…

5G时代的APP开发:机遇与挑战

APP开发是互联网行业中的重要组成部分&#xff0c;随着5G时代的到来&#xff0c;移动 APP开发也迎来了新的机遇和挑战。 5G时代不仅会为移动 APP开发带来新的发展机遇&#xff0c;也会给移动 APP开发带来新的挑战。对于企业和开发者而言&#xff0c;5G时代带来的机遇和挑战是并…

【雕爷学编程】MicroPython动手做(02)——尝试搭建K210开发板的IDE环境5

#尝试搭建K210的Micropython开发环境&#xff08;Win10&#xff09; #实验程序之三&#xff1a;更新频率演示 #尝试搭建K210的Micropython开发环境&#xff08;Win10&#xff09; #实验程序之三&#xff1a;更新频率演示from Maix import freqcpu_freq, kpu_freq freq.get() …

redis数据库与主从复制

目录 一 基本操作 二 执行流程 三 reids持久化 四 rdb和aof持久化的过程 五 为什么会有内存碎片 六 redis组从复制 一 基本操作 set :存放数据 例如 set 键值 内容 set k kokoko k就是键值 kokoko就是内容 get:获取数据 例如 get k 就会出来 k对应的数据 keys 查询键…

向量数据库

向量数据库 什么是向量数据库&#xff1f; 向量数据库是一种为了高效存储和索引AI模型产生的向量嵌入数据而专门设计的数据库。 在传统的关系型数据库中&#xff0c;数据通常以表格的形式存储&#xff0c;而在向量数据库中以向量的形式存储。向量是一组数值&#xff0c;可以表…

SFP3012A-ASEMI代理海矽美(MHCHXM)快恢复二极管

编辑&#xff1a;ll SFP3012A-ASEMI代理海矽美&#xff08;MHCHXM&#xff09;快恢复二极管 型号&#xff1a;SFP3012A 品牌&#xff1a;ASEMI 芯片个数&#xff1a;1 芯片尺寸&#xff1a;102MIL*2 封装&#xff1a;TO-247AC 恢复时间&#xff1a;75ns 工作温度&#…

找到需要补充粉笔的学生编号

一个班级里有 n 个学生&#xff0c;编号为 0 到 n - 1 。每个学生会依次回答问题&#xff0c;编号为 0 的学生先回答&#xff0c;然后是编号为 1 的学生&#xff0c;以此类推&#xff0c;直到编号为 n - 1 的学生&#xff0c;然后老师会重复这个过程&#xff0c;重新从编号为 0…

【LeetCode】128.最长连续序列

题目 给定一个未排序的整数数组 nums &#xff0c;找出数字连续的最长序列&#xff08;不要求序列元素在原数组中连续&#xff09;的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1&#xff1a; 输入&#xff1a;nums [100,4,200,1,3,2] 输出&#xf…

开源快速开发平台:做好数据管理,实现流程化办公!

做好数据管理&#xff0c;可以提升企业的办公协作效率&#xff0c;实现数字化转型。开源快速开发平台是深受企业喜爱的低代码开发平台&#xff0c;拥有多项典型功能&#xff0c;是可以打造自主可控快速开发平台&#xff0c;实现一对一框架定制的软件平台。在快节奏的社会中&…

【亲测可用】Linux上安装Redis教程

一、下载并解压Redis 1、执行下面的命令下载redis&#xff1a; wget https://download.redis.io/releases/redis-6.2.6.tar.gz 2、解压redis&#xff1a; tar xzf redis-6.2.6.tar.gz 3、移动redis目录&#xff0c;一般都会将redis目录放置到 /usr/local/redis目录&#xff1a…

SpringBoot 对接微信公众号模板消息通知

效果图见测试结果&#xff0c;有问题评论 模板消息 开通模板消息功能 登录微信公众平台开通模板消息功能 (未开通时) 添加模板消息 审核通过后&#xff0c;登录微信公众平台&#xff0c;点击 广告与服务 --> 模板消息公众号如果未设置服务类目&#xff0c;则需要先设置服…