当前位置: 首页 > news >正文

蓝桥每日一题 (差分)3月3号

//3279改变数组元素

自己做TLE:奈何想不出怎么用差分

#include<bits/stdc++.h>
using namespace std;
//3279 改变数组元素(超时)
const int N=2e5+10;
vector<int>a;
int t,n;
int main()
{cin>>t;while(t--){cin>>n;for(int i=0;i<n;i++){int b;cin>>b;a.push_back(0);int idx=a.size()-1;while(idx>=0&&b--){a[idx--]=1;}}for(int i=0;i<a.size();i++)cout<<a[i]<<" ";cout<<endl;a.clear();}
}

y的做法:根据本题特点,不去纠结中间具体加了多少,利用差分,只关心左右边界;最后巧妙地用!!来进行强制类型转换,输出0,1;(太厉害了)

#include<bits/stdc++.h>
using namespace std;
//3279 改变数组元素
const int N=2e5+10;
int a[N];
int t,n;
int main()
{cin>>t;while(t--){cin>>n;memset(a,0,(n+1)*4);//看来差分普遍用1开头for(int i=1;i<=n;i++){//i有一层意思:i为几,数组上就有几个数int m;cin>>m;m=min(m,i);//确定要在(l,r)区间上加数int r=i,l=i-m+1;a[r+1]--,a[l]++;}for(int i=1;i<=n;i++)a[i]+=a[i-1];for(int i=1;i<=n;i++)cout<<!!a[i]<<" ";cout<<endl;}
}

//797. 差分

开始自己写的时候,把a看成差分了(不该犯)

#include<bits/stdc++.h>
using namespace std;
//797 差分(自己做最开始把a看做差分数组了)
const int N=1e5+10;
int a[N];
int n,m;
int b[N];//我们最后求的还是a的状态,所以一定不要直接对a进行操作
//要先求差分数组
int main()
{cin >>n>>m;for(int i=1;i<=n;i++){cin>>a[i];b[i]=a[i]-a[i-1];}while(m--){int l,r,c;cin>>l>>r>>c;b[l]+=c;b[r+1]-=c;}for(int i=1;i<=n;i++)b[i]+=b[i-1],cout<<b[i]<<" ";}

//798差分矩阵

((^-^)V一次做对)

做的时候还是差点忘了差分,一定要分清a数组和s数组的关系,a是s的差分,s是a的前缀和

在矩阵中:给出p二维数组,求其差分数组f;可以反着理解,f数组进行求前缀和之后是p数组。

也就是p数组是s数组,s数组是由(i-1,j)(i,j-1)(i-1,j-1)计算得到的。减去就好啦。

#include<bits/stdc++.h>
using namespace std;
//789 差分矩阵
const int N=1e3+10;
int f[N][N];
int p[N][N];
int n,m,q;
int main()
{cin >>n>>m>>q;//原始数组for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){cin>>p[i][j];}}//求解差分数组for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){f[i][j]=p[i][j]-p[i][j-1]-p[i-1][j]+p[i-1][j-1];}}while(q--){int x1,x2,y1,y2,c;cin>>x1>>y1>>x2>>y2>>c;f[x1][y1]+=c;f[x1][y2+1]-=c;f[x2+1][y1]-=c;f[x2+1][y2+1]+=c;}//求前缀和for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){f[i][j]+=f[i][j-1]+f[i-1][j]-f[i-1][j-1];cout<<f[i][j]<<" ";}cout<<endl;}}

相关文章:

蓝桥每日一题 (差分)3月3号

//3279改变数组元素 自己做TLE&#xff1a;奈何想不出怎么用差分 #include<bits/stdc.h> using namespace std; //3279 改变数组元素&#xff08;超时&#xff09; const int N2e510; vector<int>a; int t,n; int main() {cin>>t;while(t--){cin>>n;…...

Mybatis和Spring Data Jpa的优缺点比较(八股文)

ORM&#xff08;Object-Relational Mapping&#xff09;框架是一种用于实现对象与关系数据库之间映射的工具或库。它可以将数据库中的表和记录映射成对象和属性&#xff0c;使开发人员可以使用面向对象的方式操作数据库&#xff0c;而不需要编写复杂的SQL语句。ORM框架的主要功…...

LeetCode买卖股票的最佳时机

LeetCode买卖股票的最佳时机 121 买卖股票的最佳时机Ⅰ 题目描述 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票&#xff0c;并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计…...

Codeforces Round 932 (Div. 2)----->A. Entertainment in MAC

一&#xff0c;思路&#xff1a; 简单的字符串处理&#xff0c;当反转字符串后如果字典序减小了&#xff0c;那么肯定不会再执行反转操作&#xff0c;而是执行操作2&#xff0c;将反转后的字符串拼接&#xff08;这样必定构造一个回文串&#xff09;&#xff0c;那么之后的操作…...

【JavaScript】 短路运算的妙用 ||

短路运算的妙用 下方举例中的写法技巧&#xff0c;在实际开发中&#xff0c;经常用到。这种写法&#xff0c;是一种很好的「容错、容灾、降级」方案&#xff0c;需要多看几遍。 1、JS 中的&&属于短路的与&#xff1a; 如果第一个值为 false&#xff0c;则不会执行后面的…...

密码学之椭圆曲线

引言 DH(Diffie-Hellman)密钥交换算法于1976年提出,是第一个公开密钥交换算法。其基础是数学中的群论,群论也是大多数公开密钥密码的基础。简单来说,群是一组元素的集合以及在这些元素上定义的特殊二元运算。 一个群需要满足如下性质: 封闭性:群中两个元素的运算结果仍…...

overleaf latex 笔记

overleaf: www.overleaf.com 导入.tex文件 1.代码空一行&#xff0c;代表文字另起一段 2. 1 2 3 排序 \begin{enumerate} \item \item \item \end{enumerate} 3.插入图片 上传图片并命名 \usepackage{float}导包\begin{figure}[H]&#xff1a;表示将图…...

第十五届蓝桥杯青少组STEMA测评SPIKE初级真题试卷 2024年1月

第十五届蓝桥杯青少组STEMA测评SPIKE初级真题试卷 2024年1月 ​​​​​​​ 来自&#xff1a;6547网 http://www.6547.cn/doc/vywur8eics...

10个常见的Java面试问题及其答案

问题&#xff1a; Java的主要特性是什么&#xff1f; 答案&#xff1a; Java的主要特性包括面向对象、平台无关、自动内存管理、安全性、多线程支持、丰富的API和强大的社区支持。 问题&#xff1a; 什么是Java的垃圾回收机制&#xff1f; 答案&#xff1a; Java的垃圾回收机…...

Vue跳转页面传递参数

Vue跳转页面传递参数 &#x1f31f; 前言 欢迎来到我的小天地&#xff0c;这里是我记录技术点滴、分享学习心得的地方。&#x1f4da; &#x1f6e0;️ 技能清单 编程语言&#xff1a;Java、C、C、Python、Go、前端技术&#xff1a;Jquery、Vue.js、React、uni-app、EchartsUI…...

【已解决】conda环境下ROS2 colcon build编译选择特定python解释器

目录 1 问题背景2 问题探索3 问题解决4 告别Bug 1 问题背景 环境&#xff1a; ROS2 HumbleUbuntu22.04 现象&#xff1a;运行colcon build后由cpp编译生成的python导出库(如自定义消息、服务等)&#xff0c;其版本与由python setup.py安装的python库版本不一致&#xff0c;导致…...

QT C++实践| 连接数据库的登录界面实现| 附源码

前言 在之前的两篇博客中QT C实战&#xff1a;实现用户登录页面及多个界面跳转、QT C实践|超详细数据库的连接和增删改查操作|附源码分别详细讲解了&#xff1a;登录界面的制作&#xff08;UI布局、页面跳转、登录逻辑等&#xff09;、QT如何连接Mysql数据库&#xff0c;并进行…...

html样式排版

<template><div class"box"><div class"header">头部</div><div class"main"><div class"left">菜单</div><div class"right"><div class"right-contentr"&g…...

Java:性能优化细节31-45

Java&#xff1a;性能优化细节31-45 31、合理使用java.util.Vector 在使用java.util.Vector时&#xff0c;需要注意其性能特性和最佳实践&#xff0c;以确保应用程序运行高效。Vector是一个同步的集合类&#xff0c;提供了动态数组的实现。由于它是线程安全的&#xff0c;所以…...

YOLOv9独家原创改进|增加SPD-Conv无卷积步长或池化:用于低分辨率图像和小物体的新 CNN 模块

专栏介绍&#xff1a;YOLOv9改进系列 | 包含深度学习最新创新&#xff0c;主力高效涨点&#xff01;&#xff01;&#xff01; 一、文章摘要 卷积神经网络(CNNs)在计算即使觉任务中如图像分类和目标检测等取得了显著的成功。然而&#xff0c;当图像分辨率较低或物体较小时&…...

Android Gradle开发与应用 (四) : Gradle构建与生命周期

1. 前言 前几篇文章&#xff0c;我们对Gradle中的基本知识&#xff0c;包括Gradle项目结构、Gradle Wrapper、GradleUserHome、Groovy基础语法、Groovy语法概念、Groovy闭包等知识点&#xff0c;这篇文章我们接着来介绍Gradle构建过程中的知识点。 2. Project : Gradle中构建…...

[MRCTF2020]Transform1

a[33]"9,10,15,23,7,24,12,6,1,16,3,17,32,29,11,30,27,22,4,13,19,20,21,2,25,5,31,8,18,26,28,14" b[33]"103,121,123,127,117,43,60,82,83,121,87,94,93,66,123,45,42,102,66,126,76,87,121,65,107,126,101,60,92,69,111,98,77" python代码 a3 [103…...

JavaWeb HTTP 请求头、请求体、响应头、响应体、响应状态码

J2EE&#xff08;Java 2 Platform Enterprise Edition&#xff09;是指“Java 2企业版”&#xff0c;B/S模式开发Web应用就是J2EE最核心的功能。 Web是全球广域网&#xff0c;也称为万维网(www)&#xff0c;能够通过浏览器访问的网站。 在日常的生活中&#xff0c;经常会使用…...

穿越数字防线:SSH协议的全景解析与未来展望

SSH基本概念 SSH&#xff08;Secure Shell&#xff09;是一个用于计算机网络的加密协议&#xff0c;设计用来提供一种安全的方式通过不安全的网络进行远程登录和其他网络服务。SSH协议主要用于远程管理系统和安全地传输信息。 SSH的历史背景 SSH由Tatu Ylnen于1995年开发&am…...

语文教学方法有哪些,产生了什么效果

你是否曾想过&#xff0c;一位普通的语文老师如何化身为智慧的引导者&#xff0c;点燃学生心中的求知之火&#xff1f;让我们一起探寻那些神奇的语文教学方法&#xff0c;以及它们带来的深远影响。 不仅让知识变得容易理解&#xff0c;更在无形中培养了学生的各项能力。通过谈话…...

uni-app项目上架前必做:手把手教你用Android Studio生成正式签名APK(从证书到发布)

uni-app项目上架全流程&#xff1a;从签名证书到应用商店发布的实战指南 当你完成uni-app项目的开发后&#xff0c;如何将代码转化为可供用户下载安装的正式APK文件&#xff1f;这看似简单的打包过程&#xff0c;实则暗藏诸多技术细节。本文将带你深入理解Android应用签名机制&…...

GD32F4xx内部FLASH读写避坑指南:从用户手册到代码调试,手把手教你搞定0x08040000地址操作

GD32F4xx内部FLASH操作实战&#xff1a;从手册解读到调试验证的完整指南 第一次接触GD32F4系列MCU的内部FLASH操作时&#xff0c;很多开发者都会遇到各种"坑"&#xff1a;为什么擦除后数据变成了0xFF&#xff1f;为什么写入操作会失败&#xff1f;地址0x08040000到底…...

从STM32F405到AT32F435:手把手教你给AocodaRC飞控换‘芯’并刷入BetaFlight固件

从STM32F405到AT32F435&#xff1a;国产芯片飞控改造全流程实战 对于追求极致性能的无人机玩家而言&#xff0c;飞控系统的硬件升级永远是绕不开的话题。当雅特力AT32F435这颗国产芯片以更高的主频、更大的Flash容量和更丰富的外设资源进入视野时&#xff0c;很多飞手已经按捺不…...

告别混乱!在C#/C++混合项目中用OpenCasCade 7.7.0搞定三维坐标显示(附完整代码)

工业级三维坐标可视化实战&#xff1a;OpenCasCade混合开发深度解析 第一次在CAD软件中看到那个小小的三色坐标轴时&#xff0c;我完全没意识到它背后隐藏着如此复杂的工程逻辑。直到自己动手在C#/C混合环境中实现OpenCasCade的坐标显示系统&#xff0c;才真正理解工业级三维可…...

避坑指南:UE5 GAS技能系统中,角色转向功能的两种实现方案与接口设计思考

UE5 GAS技能系统中角色转向功能的架构设计与实战优化 在动作角色扮演游戏开发中&#xff0c;技能释放时的角色朝向处理往往成为影响战斗体验的关键细节。当火球需要精准飞向目标、剑刃应当准确劈砍敌人时&#xff0c;角色朝向的瞬间调整不仅关乎视觉表现&#xff0c;更直接影响…...

手语数字人技术详解:3D 动画生成、动作自然度优化与实时渲染工程实践

一、前言&#xff1a;手语数字人是 AI 手语翻译的 “最后一公里”在国家信息无障碍政策推动下&#xff0c;AI 手语翻译已从技术实验走向大规模落地。但手语不是文字替换&#xff0c;而是身体动作、手部姿态、面部表情、口型同步的综合表达。传统手语生成普遍存在三大问题&#…...

EMD vs NEMD:分子动力学算热导率,新手到底该选哪个?

EMD与NEMD方法实战指南&#xff1a;如何为你的热导率计算选择最佳方案 在纳米材料和新型功能材料的研究中&#xff0c;热导率的精确计算是理解材料热输运性能的关键。面对平衡态分子动力学(EMD)和非平衡态分子动力学(NEMD)两种主流方法&#xff0c;许多研究者常常陷入选择困境。…...

IC697PWR710H电源模块

IC697PWR710H 是GE Fanuc Series 90-70 PLC系统使用的一款高可靠性电源模块&#xff0c;为机架内所有模块提供稳定的直流供电&#xff0c;属于710系列的改进或衍生版本。中间&#xff1a;15条产品特点IC697PWR710H 输入支持交流120/240V或直流125V&#xff0c;适应不同现场供电…...

别再死记硬背了!用这个班级排名的例子,5分钟搞懂R语言dplyr包的四种join函数

班级运动会排名解析&#xff1a;用生活案例彻底掌握R语言dplyr连接函数 刚接触R语言的数据合并操作时&#xff0c;那些inner_join、left_join的术语总让人望而生畏。但数据连接的本质&#xff0c;其实就像学校运动会后整理各班成绩一样简单。想象你手上有两个班级的排名表和运动…...

别再只当Atlas是元数据仓库了!手把手教你用它的UI搞定数据分类与血缘追溯

别再只当Atlas是元数据仓库了&#xff01;手把手教你用它的UI搞定数据分类与血缘追溯 数据治理工具常被视为"高大上"的架构师专属玩具&#xff0c;但Apache Atlas的UI界面却藏着连一线工程师都能立刻上手的实用功能。上周排查一个报表异常时&#xff0c;我发现团队里…...