CodeForces 514D-R2D2 and Droid Army

对MixPad精灵(触屏语音开关)进行解剖分析 概述 最近有点忙,已经很久没有更新文章了,对不起各位网友啦~ 这次对ORVIBO的新产品:MixPad精灵款的来个剖析,希望对大家有所帮助! 首先,我买了一台对应的设备,直接去官网采购,价格吗还算OK,400多的价格。 拆箱的过程我就不写了,简单的上个图就行了。 一、拆包: 主屏板包装盒(顶部): 主屏板包装盒(底部): 后盖电源部分无内容,我就不拍了,给优快云空间省点存储位置。 二、设备剖析开始 接下来,我们开始对设备进行剖析,步骤如下: 1、拆掉主屏板后盖板,... 阅读详情

题目

D. R2D2 and Droid Army
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

An army of n droids is lined up in one row. Each droid is described by m integers a1, a2, ..., am, where ai is the number of details of the i-th type in this droid's mechanism. R2-D2 wants to destroy the sequence of consecutive droids of maximum length. He has m weapons, the i-th weapon can affect all the droids in the army by destroying one detail of the i-th type (if the droid doesn't have details of this type, nothing happens to it).

A droid is considered to be destroyed when all of its details are destroyed. R2-D2 can make at most k shots. How many shots from the weapon of what type should R2-D2 make to destroy the sequence of consecutive droids of maximum length?

Input

The first line contains three integers n, m, k (1 ≤ n ≤ 105, 1 ≤ m ≤ 5, 0 ≤ k ≤ 109) — the number of droids, the number of detail types and the number of available shots, respectively.

Next n lines follow describing the droids. Each line contains m integers a1, a2, ..., am (0 ≤ ai ≤ 108), where ai is the number of details of the i-th type for the respective robot.

Output

Print m space-separated integers, where the i-th number is the number of shots from the weapon of the i-th type that the robot should make to destroy the subsequence of consecutive droids of the maximum length.

If there are multiple optimal solutions, print any of them.

It is not necessary to make exactly k shots, the number of shots can be less.

Examples
Input
5 2 4
4 0
1 2
2 1
0 2
1 3
Output
2 2
Input
3 2 4
1 2
1 3
2 2
Output
1 3
Note

In the first test the second, third and fourth droids will be destroyed.

In the second test the first and second droids will be destroyed.

题义

有n个机器人,每个机器人有m个描述,你有k次机会,每次都可以选择m中的一个,让n个机器人的这个描述减1,当某个机器人的m个描述都减为0了,这个机器人就没了,问的是用这k次机会可以消灭最多多少连续的机器人。

解法

如果某一段[l,r]是可以被消灭的,那么机器人每个描述在[l,r]上的最大值的和必须小于等于k,那么就可以先做m遍rmq,然后枚举左端点,二分右端点,取到最右的端点时更新答案就行了。

代码

#include<cstdio>
#include<cstring>
int a[100005][6],maxn[100005][20][6];
int max(int a,int b)
{
	return a>b?a:b;
}
void init(int n,int m)
{
	int i,j,k;  
    for(i=0;i<n;i++)  
    	for(j=0;j<m;j++)
        	maxn[i][0][j]=a[i][j];  
    for(j=1;(1<<j)<=n;j++)
        for(i=0;i+(1<<j)-1<n;i++)  
        	for(k=0;k<m;k++)
            	maxn[i][j][k]=max(maxn[i][j-1][k],maxn[i+(1<<(j-1))][j-1][k]);  
}
int rmq(int l,int r,int id)
{
	int k=0;
    while((1<<(k+1))<=r-l+1) k++;  
    return max(maxn[l][k][id],maxn[r-(1<<k)+1][k][id]);  
}
int f(int l,int r,int m)
{
	int i,res=0;
	for(i=0;i<m;i++)
		res+=rmq(l,r,i);
	return res;
}
int main()
{
	int n,m,k,i,j;
	scanf("%d%d%d",&n,&m,&k);
	for(i=0;i<n;i++)
		for(j=0;j<m;j++)
			scanf("%d",&a[i][j]);
	init(n,m);
	int ans=-1,pos1,pos2;
	for(i=0;i<n;i++)
	{
		int l=i,r=n-1,mid;
		while(l<=r)
		{
			mid=(l+r)/2;
			int tmp=f(i,mid,m);
			if(tmp>k)
				r=mid-1;
			else
				l=mid+1;
		}
		int res=r-i+1;
		if(res>ans)//记录一下答案对应的左右端点
		{
			ans=res;
			pos1=i;
			pos2=r;
		}
	}
	if(ans<=0)//如果不能消灭任何机器人,就输出m个0
	{
		for(i=0;i<m;i++)
			printf("0 ");
		puts("");
		return 0;
	}
	for(i=0;i<m;i++)
		printf("%d ",rmq(pos1,pos2,i));
	puts("");
	return 0;
}


拉曼光谱入门:5.表面增强与共振增强 拉曼散射效应因其弱信号特性限制了传统拉曼光谱术的检测灵敏度。为克服这一局限,表面增强拉曼光谱术(SERS)和共振增强拉曼光谱术(RRS)被开发出来,显著提升了信号强度。SERS通过金属表面的电磁和化学效应放大信号,而RRS则通过匹配激发光波长与分子电子跃迁波长来增强信号。这两种技术扩大了拉曼光谱的应用范围,尤其在低浓度和微量试样分析中表现出色,尽管在实验操作和试样损伤方面存在挑战。 阅读详情

相关推荐

A类功率放大器

在A类放大器中,导通角是完整的360°或100%的输入信号,而在其他类别的放大器中,晶体管在一个较小的导通角内导通。通过在输出级使用两个互补的晶体管,其中一个晶体管是NPN或N通道类型,而另一个晶体管是PNP或P通道(互补)类型,以所谓的 "推挽 "配置连接,可以获得比A类放大器更大的功率输出和效率。这种类型的电路效率很低(低于30%),而且对直流电源的消耗很大,输出的功率却很小。由于我们感兴趣的是向负载提供最大的交流功率,同时从电源中消耗尽可能少的直流电,所以我们主要关注的是放大器的 "转换效率"。

LSW20072007的博客 2464

(CodeForces - 514D)R2D2 and Droid Army

(CodeForces - 514D)R2D2 and Droid Army An army of n droids is lined up in one row. Each droid is described by m integers a1, a2, ..., am, where ai is the number of details of the i-th type in this droid's mecha

The wind of freedom blows 597

STM32H743玩转以太网:不用FreeRTOS,手把手搞定LAN8742和DHCP(附MPU配置避坑指南)

本文详细介绍了在STM32H743裸机环境下实现以太网通信的完整方案,重点讲解了LAN8742 PHY芯片的配置和DHCP自动获取IP的实现。通过CubeMX配置、内存布局优化和MPU设置,避开了H7系列常见的Cache陷阱,提供了无操作系统环境下的高效网络通信解决方案。

weixin_42709044的博客 201

CodeForces - 514D :R2D2 and Droid Army(二分、暴力)

原题链接:CodeForces - 514D 题意:有n个机器排成一列,每个机器有m种类型的描述,每种类型的描述包括a个细节,现在你有m种类型的武器,可以射击k次,第i种武器一次可以摧毁该列所有机器的第i种类型的一个细节,当一个机器的所有细节都被摧毁即被消灭了,问各种类型分别射击多少次才能使连续消灭的机器的长度最大 思路:将每种类型的细节数记录到multiset中,对同一行的各列求和,判断是否满足

Jerry的博客 491

(学习笔记)机器人自主导航从零开始第四步———Rviz、Gazebo、Meshlab的安装

一、Rviz的安装 Rviz是一个

qq_59475883的博客 5057

#基于原生JS的交互式代码高亮编辑器实现教程

本文介绍了一个轻量级交互式代码高亮编辑器的实现方案。该编辑器采用原生JavaScript开发,支持语法高亮、行号显示、主题切换等核心功能,适合嵌入博客、文档等场景使用。 项目技术栈包括HTML5/CSS3/JavaScript,使用Prism.js实现语法高亮,prettier提供代码格式化功能。编辑器界面分三个区域:顶部工具栏(语言选择/主题切换)、中间编辑区(行号+代码)、底部状态栏(语言/字符数)。 核心功能实现包括:通过contenteditable属性创建可编辑区域,Flex布局实现行号与代码同步

qq_42386733的博客 1035

R2D2 and Droid Army(多棵线段树)

R2D2 and Droid Army time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard outputAn army of n droids is lined up in one row. Each droid is descri

绝尘 1029

课题申报新手入门必备指南!利用AI辅助搞定 6大关键部分,高效提升申报成功率(附AI提示词)

以下是我(或团队)与本课题相关的已有基础:【如:承担过的公开课、校本教研活动、教学改革实践、课程建设、区级/校级课题、教学反思积累等】请你完成以下任务:1)判断哪些内容与本课题的研究目标和内容具有直接或间接关联;以下是我当前的研究设想(可能比较笼统):【填写你的研究想法 / 教学困惑 / 初步设想】,请你帮我完成以下任务:1)先判断该设想中隐含的核心研究问题是什么;以下是我目前拟定的研究目标,请你从课题评审视角进行校正:【逐条粘贴你已有的研究目标】,请你帮我:1)判断每个目标是否具体、清晰、可评估;

智能AI让学术科研更容易 917

Codeforces 514D R2D2 and Droid Army RMQ问题

题目大意: 就是现在对于一个m行n列的矩阵, 每次可以选择m行中的任意一行的正整数-1,最多选择k次, 如果某一列中的m个数全部成为了0, 那么这一列算作被破坏, 求被破坏的连续的列 最长是多少列, 并且输出选择各行的次数 (m 大致思路: 就是RMQ预处理一下每一行的所有数, 然后二分能够找到的长度判断是否可行即可, 很简单的RMQ问题 代码如下: Result  :

Gatevin的专栏 1083

Python 实战:全面解析“微信搜一搜”内容爬取,从入门到企业级架构

本文将带你从零搭建爬虫项目,采用 Requests、Scrapy、Selenium、Proxy 池、中间人监控(如 Fiddler/mitmproxy)、分布式调度、数据库持久化、断点续抓等方案,实现可持续、抗封能力强的内容抓取系统。理解“微信搜一搜”页面结构与 Javascript 渲染逻辑;使用 Scrapy 框架搭建分布式爬虫;使用 Selenium 模拟浏览器抓取;构建代理池提升爬取成功率;对抗验证码、IP 封禁与 cookie 过期问题;

2201_76125261的博客 1392

3D结构光 vs TOF——手机厂商为何选择TOF方案?

3D视觉感知技术路线分析:结构光与TOF对比 3D视觉感知领域存在结构光和TOF两大主流技术。结构光基于三角定位法,精度高(毫米级)但工作距离短(<1.5米),适合人脸识别等近距离场景;TOF通过测量光脉冲飞行时间计算深度,精度中等(厘米级)但工作距离长(0.5-5米+),更适合AR导航等中远距离应用。手机厂商选型时考虑:前置认证选择结构光(如苹果FaceID),后置场景倾向TOF(安卓阵营),因后者更适配全面屏设计、环境适应性强且成本优势明显。两种技术互补共存,共同推动3D感知应用发展。

致力于lidar应用开发 111

R2D2 and Droid Army - CodeForces 514 D 二分

R2D2 and Droid Army time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output An army of n droids is lined up in one

提比的强行AC 692

MALTAB程序利用质心法去寻峰

质心法的优点是简单易实现且计算速度快,适用于数据点较少或峰值较明显的情况。然而,对于复杂的数据或多峰曲线,质心法可能无法准确识别所有峰值,因此在这些情况下可能需要使用更复杂的峰值检测算法。质心法(Centroid Method)是一种寻找峰值的方法,其基本原理是通过计算数据窗口内的质心位置来确定峰值的位置。质心是指在一维数据中,按照数据的幅值对位置进行加权平均的结果,即质心位置为数据幅值加权平均值的位置。变量定义了计算质心的窗口大小。最后,绘制了找到的峰值位置和幅值点,并显示了找到的峰值位置和幅值的结果。

走向CTO的路上... 1345

codeforces 514D R2D2 and Droid Army

codeforces 514D R2D2 and Droid Army 题目: 思路: 尺取法+堆 #include #include #include #include #include using namespace std; #define LL __int64 const int N=100005; int a[N][6]; int n,m; LL

whai的专栏 1089

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

【codeforces 514D】R2D2 and Droid Army

【题目链接】:http://codeforces.com/contest/514/problem/D 【题意】 给你每个机器人的m种属性p1..pm 然后r2d2每次可以选择m种属性中的一种,进行一次攻击; 攻击过后每个机器人的该种属性都减少1; 可以最多攻击k次; 机器人只有m种属性都变为0之后才死掉; 然后问你如何分配这k次攻击,每次攻击时选择的属...

AWCXV 176

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

CodeForces 514D R2D2 and Droid Army

D. R2D2 and Droid Army An army of n droids is lined up in one row. Each droid is described by m integers a1, a2, ..., am, where ai is the number of details of thei-th type in this droid's m

Yedl的专栏 1016

R2D2 and Droid Army CodeForces - 514D (rmq+二分)

可以发现,一个区间里的机器人是否被击败,只与这个区间的最大值属性有关。所以可以用rmq储存区间属性最大值。最后使用2分查找合法(消灭这个区间里的机器人且费用不超过k)且区间最长的武器分配方案。

weixin_43925900的博客 354

【CodeForces - 514D 】R2D2 and Droid Army(尺取法)

有n个机器人站成一排。每个机器人可以表示成m个整数a1, a2, ..., am,其中ai是机器人的第i项特征值。 R2-D2 想要摧毁尽量多的连续的机器人。 他有m种武器, 第i种武器可以将所有机器人第i项特征值减少1。 (如果该机器人的特征值已经为0,则什么都不发生). 如果一个机器人所有特征值都为0,则认为该机器人被摧毁。R2-D2 可以用k次武器。问 R...

__似水流年__的博客 271

CodeForces 514D R2D2 and Droid Army RMQ+二分

题目链接:点击打开链接 题意:给定n m k 下面是n*m的矩阵 最多可以操作k次,每次操作可以使任意一列上所有的数 -= 1,( 0还是0) 要求得到连续最多的行数(每行里的整数都为0),输出任意一个方案(在每一列上操作的次数) 思路: 把每列单独考虑 枚举每行,二分找这行往下最多能清空的行数, RMQ维护一列的最大值。 import java.io.BufferedR

九野的博客 1297

Codeforces 514D R2D2 and Droid Army【二分+RMQ】

D. R2D2 and Droid Army time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output An army of n droids is lined up in one row. Ea

mengxiang000000 628

CodeForces - 514D-R2D2 and Droid Army(RMQ+二分)

题目链接:https://vjudge.net/problem/CodeForces-514D 题目大意:现在有一排机器人(n个),每个机器人有m个属性,你可以选择一种属性进行攻击,使所有机器人的这一属性都减1,当一个机器人所有属性都小于等于0时就视为被消灭了,现在你有k次攻击的机会,请问最多能够消灭连续的多少个机器人。 思路:因为是找的连续的最大长度,(连续的……),所以想要消灭某连续区间的机器...

qq_43803508的博客 2642

【打CF,学算法——四星级】CodeForces 514D R2D2 and Droid Army (RMQ+二分)

【CF简介】 提交链接:CF 514D 题面: D. R2D2 and Droid Army time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output An ar

David_Jett 1172

CodeForces 514D.R2D2 and Droid Army (线段树+双指针)

CodeForces 514D: 一道线段树+双指针的题目

岩之痕 1151

codeforces 514d R2D2 and Droid Army (RMQ+二分)

题意: 有n*m的矩阵,然后你有k发子弹。现在你可以朝着任意列发射子弹,每一发子弹都会使该列上的数值-1,最小减少到0。 现在问你连续最长的行数,在k发子弹内,使得这些行上的数值全部为0. 思路: 看了别人代码,其实RMQ不是必要的,开m个双端队列也可以。因此每次要问一段范围内的最大值都是按顺序下去的,队列可以解决。 二分长度len,枚举n行是否存在这样的i~i+len-1,所需

604

Codeforces 514 D R2D2 and Droid Army(Trie树)

题目链接 大意是判断所给字符串组中是否存在与查询串仅一字符之差的字符串。 关于字符串查询的题,可以用字典树(Trie树)来解,第一次接触,做个小记。在查询时按题目要求进行查询。 代码: #define _CRT_SECURE_NO_DEPRECATE #include<iostream> #include<cstdio> #include<cstring> ...

weixin_30686845的博客 75
上一篇: CodeForces 455C-Civilization
下一篇: CodeForces 478D-Red-Green Towers
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值