【无标题】2024.6.2

2024.6.2 【明霄升海平,飞彩镌流年。】

Sunday 四月廿六


A. 矩形覆盖

题目描述
有N个矩形,矩形的底边边长为1,且均在X轴上,高度给出,第i个矩形的高为h[i],求最少需要几个矩形才能覆盖这个图形。

例如h = [3, 2, 4, 2]的图形如下:

image

容易发现,只需要3个矩形就能覆盖这个图形。

输入格式
第一行一个整数N。接下来1行包含N个正整数,为h[i]。

输出格式
输出一个整数表示最少需要几个矩形能覆盖这个图形。

样例输入

10
2 3 2 4 2 1 3 4 3 2

样例输出

7

数据规模与约定
对于所有数据,N<=100000,h[i] <= 100。

对于部分数据,N<=10;

对于部分数据,N<=100;

对于部分数据,N<=1000;

对于部分数据,h[i] <= 10;

//2024.6.2
//by white_ice
#include<bits/stdc++.h>
#define itn int
using namespace std;
const int oo = 10000009;int nk;
int stk[oo];
itn top;
int num;int main(){ios::sync_with_stdio(0);cin.tie(0),cout.tie(0);cin >> nk;for (int i=1;i<=nk;i++){int x;cin >> x;while (stk[top]>x)top--;if (stk[top]!=x){stk[++top] = x;num++;}}cout << num;return 0;	
}

考虑逐行消去,

使用栈维护每列高度。

最后形成单调栈。


B. 无敌的妹子2

土豪无敌有很多相机,因为需要秀相机,所以需要拍很多妹纸,现在,无敌招募了n只妹纸,从1到n编号摆在架子上。现在无敌要给妹纸穿各种衣服来增加妹纸的美丽值(由于无敌很正直,他懒得把妹纸的衣服卸下来,只会不停地给妹纸穿衣服(妹纸:热出翔)

他经常会把某个让他很不爽的区间内的妹纸全部替换掉;或者给某个区间内的妹纸都穿上某种衣服。

有时候无敌要试下某个相机,无敌就会随手在架子上的某个区间内找到最美丽的妹纸(一般是XXX)。

有时候会用些镜头歪斜的相机(都是小叶子给搞歪的)拍照,无敌为了防止美丽的妹纸(一般是XXX)生他的气,不敢乱拍美丽的妹纸,就只好随手在架子上的某个区间内找到最ugly的妹纸。

当然,还有时候无敌要给小叶子炫自己的妹纸,就会随手抱出在架子上的某个区间内的妹纸,并计算她们美丽值的和。

输入格式
第一行输入妹纸数n和操作数m

第二行n个数,表示妹纸自身的美丽值ai(这时候还没进行操作)

接下来m行,每行有四个数或五个数,c,dir,ql,qr,(v) (表示询问时,一行只有四个数,表示修改时,一行有五个数)

第一个数c若为1,表示询问:

第二个数dir若为1,表示无敌要对小叶子炫妹子,输出区间[ql,qr]内妹纸美丽值的总和

第二个数dir若为2,表示无敌只能用逗逼的镜头,输出区间[ql,qr]内最ugly的妹纸的美丽值

第二个数dir若为3,表示无敌试相机,输出区间[ql,qr]内最美丽的妹纸的美丽值

第一个数c若为2,表示修改:

第二个数dir若为1,表示无敌要给区间[ql,qr]内的妹纸都穿上一件美丽值为v的衣服

第二个数dir若为2,表示无敌要把区间[ql,qr]内的妹纸全部替换成美丽值为v的妹纸

输出格式
对于每个询问,输出一行对应的信息

样例输入

10 15
27 12 57 80 24 64 96 81 18 45 
1 3 9 9
1 1 3 10
1 2 5 7
2 2 1 8 79
1 1 1 4
2 2 5 8 42
2 1 1 5 15
2 1 2 5 72
1 1 2 2
2 1 1 5 35
2 2 10 10 57
1 1 5 5
1 3 5 8
2 1 8 8 78
2 2 5 5 84

样例输出

18
465
24
316
166
164
164

数据规模与约定
n<=1000000,m<=100000

0<=v,ai<=10000

保证所有数据在int范围内

对于10%的数据,n,m<=10(数据十分有梯度!)

怎么都打不对的线段树板子罢了


C. 小奇的数列

题目描述
小奇总是在数学课上思考奇怪的问题。

给定一个长度为n的数列,以及m次询问,每次给出三个数l,r和P,询问(a[l’] + a[l’+1] + … + a[r’]) mod P的最小值。

其中l <= l’ <= r’ <= r。

即模意义下的区间子串和最小值。

输入格式
第一行包含两个正整数n和m,表示数列的长度和询问的个数。

第二行为n个整数,为a[1]…a[n]。

接下来m行,每行三个数l,r和P,代表一次询问。

输出格式
对于每次询问,输出一行一个整数表示要求的结果

样例输入

4 2
8 15 9 9
1 3 10
1 4 17

样例输出

2
1

数据规模与约定
对于20%的数据n<=100,m<=100,p<=200

对于40%的数据n<=200,m<=1000,p<=500

对于70%的数据n<=100000,m<=10000,p<=200

对于100%的数据n<=500000,m<=10000,p<=500,1<=a[i]<=10^9

//2024.6.2
//by white_ice
#include <bits/stdc++.h>
constexpr int oo = 500005;
#define itn int
using namespace std;
#define ll long longint n,m,a[oo];
ll sum[oo];
bool e[500002];ll min(ll a,ll b){if(a<b) return a;return b;
}int main(){cin >> n >> m;for(itn i=1;i<=n;i++)cin >> a[i];int l,r,p;while(m--){cin >> l >> r >> p ;if(r-l+1>p){cout << "0" << endl;continue;}for(itn i=1;i<=p;i++)e[i]=0;e[0]=1;sum[l-1]=0;ll ans= 1 << 30;for(int i=l;i<=r;i++){sum[i]=(sum[i-1]+a[i])%p;for(int j=sum[i];j>=0;j--){if(e[j]){ans=min(ans,sum[i]-j);break;}}if(ans==0)break;e[sum[i]]=1;}cout  << ans << endl;}return 0;
}

使用前缀和能拿到不少分,

如果再加一个关于取到0就跳出的判断得分将更多。

这里使用区间前缀和,

维护每次的查询需求。

使复杂度变得很好看。


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

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

相关文章

微信里的东西怎么打印出来呢

随着微信的普及&#xff0c;我们的日常生活和工作都离不开这个强大的社交工具。无论是重要的工作文件、孩子的作业、还是精彩的旅行照片&#xff0c;我们都习惯在微信里保存和分享。但是&#xff0c;当需要将这些微信里的内容打印出来时&#xff0c;很多人可能会感到困惑和麻烦…

2024.05.18 校招 实习 内推 面经

绿*泡*泡VX&#xff1a; neituijunsir 交流*裙 &#xff0c;内推/实习/校招汇总表格 1、实习 | 东风日产2024实习生招聘正式启动 实习 | 东风日产2024实习生招聘正式启动 2、实习 | 达实智能实习生招募令&#xff01; 实习 | 达实智能实习生招募令&#xff01; 3、校招 | …

电力能源指挥中心调度台解决方案主要关注的问题

调度台是指挥中心不可或缺的设备&#xff0c;随着信息化建设的不断深入&#xff0c;电力能源指挥中心已成为重要平台。因此&#xff0c;构建一套高效、智能的电力能源指挥中心调度台解决方案&#xff0c;需要关注以下关键问题&#xff1a; 一、实时监控与数据采集 电力能源指挥…

2.3.2_3 单链表的建立

喜欢《数据结构》部分笔记的小伙伴可以订阅专栏&#xff0c;今后还会不断更新。 此外&#xff0c;《程序员必备技能》专栏和《程序员必备工具》专栏&#xff08;该专栏暂未开设&#xff09;日后会逐步更新&#xff0c;感兴趣的小伙伴可以点一下订阅、收藏、关注&#xff01; 谢…

【AI 大揭秘】ChatGPT 写作绝技与必备提示词大全

利用ChatGPT撰写文章是一种极具创意的方法&#xff0c;它能显著提升您的写作效率&#xff0c;并帮助您创作出高质量的内容。通过人工智能的辅助&#xff0c;您可以迅速、便捷地生成精美文章&#xff0c;或至少为您的下一个写作项目提供灵感。 不管您是在撰写文章、剧本还是电子…

react路由参数path不再支持正则?比较v5和v6写法的差异性

文章目录 前言v5方式&#xff1a;直接在path参数中&#xff0c;写入对应正则&#xff08;1&#xff09;代码详细注释如下&#xff08;2&#xff09;页面输出如下&#xff0c;会出现undefined的情况 v6方式: 在路由对象中配置&#xff0c;但只可配动态路由&#xff0c;不可用正则…

TH方程学习(4)

一、背景介绍 在本节将会对TH方程打包成一个函数&#xff0c;通过输入目标星的轨道要素&#xff0c;追踪星在目标星VVLH坐标系下的相对位置和速度&#xff0c;以及预报的时间&#xff0c;得到预报时刻追踪星在VVLH坐标系下的位置和速度&#xff0c;以及整个状态转移矩阵。 合并…

替换所有的问号 ---- 模拟

题目链接 题目: 分析: 我们只需要遍历字符串, 将所有?进行修改即可但是需要判断, 修改的字符不能和前面后面重复同时, 有一个细节需要处理, 就是当?在最前面时, 没有前面的符号需要判断 在最后面的时候, 没有后面的字符需要判断 代码: class Solution {public String mod…

Django ORM深度游:探索多对一、一对一与多对多数据关系的奥秘与实践

系列文章目录 Django入门全攻略&#xff1a;从零搭建你的第一个Web项目Django ORM入门指南&#xff1a;从概念到实践&#xff0c;掌握模型创建、迁移与视图操作Django ORM实战&#xff1a;模型字段与元选项配置&#xff0c;以及链式过滤与QF查询详解Django ORM深度游&#xff…

面试题--this关键字

this 指向是前端面试中的常问题型&#xff0c;简单分析为以下几种&#xff1a; 1. 在全局作用域中&#xff0c;this 关键字固定指向全局对象 window 或者 global。 2. 在函数作用域中&#xff0c;取决于函数是如何被调用的。 1&#xff09;函数直接调用&#xff0c;this 指向…

Leetcode 3169. Count Days Without Meetings

Leetcode 3169. Count Days Without Meetings 1. 解题思路2. 代码实现 题目链接&#xff1a;3169. Count Days Without Meetings 1. 解题思路 这一题的话我们只需要先对meeting的时间进行一下排序&#xff0c;然后不断更新当前连续开会的时间即可。当某一个会议开始时&#…

Java中lambda表达式是啥怎么使用

在Java中&#xff0c;Lambda表达式&#xff08;也称为闭包&#xff09;是一种简洁地表示匿名函数&#xff08;即没有名称的函数&#xff09;的方式。它们允许你将函数作为参数传递或赋值给变量&#xff0c;从而简化代码。Lambda表达式在Java 8及更高版本中引入。 Lambda表达式…

打造智能化未来:智能运维系统架构解析与应用实践

在数字化转型的大背景下&#xff0c;智能运维系统成为了企业提升效率、降低成本、增强安全性的关键利器。本文将深入探讨智能运维系统的技术架构&#xff0c;介绍其核心要素和应用实践&#xff0c;帮助读者全面了解智能运维系统的概念、优势和应用价值。 ### 1. 智能运维系统的…

如何进入 -MGMTDB目录

想想这个问题&#xff0c;大家可能觉得很简单吧&#xff0c;先不看答案&#xff0c;你试一试如何进去 1.问题现象&#xff1a; 我直接进入&#xff1a; cd -MGMTDB 直接就报错了&#xff1a; [gridhost03 _mgmtdb]$ cd -MGMTDB -bash: cd: -M: invalid option cd: usage: c…

Rust struct

Rust struct 1.实例化需要初始化全部成员变量2.如果需要实例化对象可变&#xff0c;加上mut则所有成员变量均可变 Rust支持通过已实例化的对象&#xff0c;赋值给未赋值的对象的成员变量 #![allow(warnings)] use std::io; use std::error::Error; use std::boxed::Box; use s…

【NumPy】深入解析numpy中的 iscomplex 方法

&#x1f308; 欢迎莅临我的个人主页&#x1f448;这里是我深耕Python编程、机器学习和自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;并乐于分享知识与经验的小天地&#xff01;&#x1f387; &#x1f393; 博主简介&#xff1a; 我是云天徽上&#xff0c;一名对技…

下载文件流

export function downloadFile(file, name, type) { const link document.createElement(‘a’) link.href window.URL.createObjectURL(new Blob([file], { type: type })) link.target ‘_blank’ link.download name document.body.appendChild(link) link.click() docu…

Mujoco仿真【xml文件的学习 4】

在学习Mujoco仿真的过程中&#xff0c;mujoco的版本要选择合适。先前我将mujoco的版本升级到了mujoco-3.1.4&#xff0c;在运行act的仿真代码时遇到了问题&#xff0c;撰写了博客&#xff1a; Aloha机械臂的mujoco仿真问题记录-CSDN博客 下面在进行mujoco仿真时&#xff0c;统…

从0开发一个Chrome插件:开发Chrome插件的必要知识

前言 这是《从0开发一个Chrome插件》系列的第二篇文章,本系列教你如何从0去开发一个Chrome插件,每篇文章都会好好打磨,写清楚我在开发过程遇到的问题,还有开发经验和技巧。 专栏: 从0开发一个Chrome插件:什么是Chrome插件? 尽请期待~ Chrome 插件的基本结构 一个C…

Superset二次开发之PG数据库备份策略

背景:基于Superset项目3.0版本二次开发,线上运行之后,需要处理和维护后续的PG数据的备份,迁移,回滚,校验等环节 Superset 默认使用 PostgreSQL(简称 PG)作为其元数据数据库。这个数据库在 Superset 项目中扮演了关键角色: 存储元数据: PG 数据库存储 Superset 的所有…