202109-2 非零段划分--C++

#include <iostream>
#include <bits/stdc++.h>using namespace std;int A[500001];int FindSum(int A[],int p,int n)
{for(int i=1;i<=n;i++)//所有小于p的都变0 {if(A[i]<p) A[i]=0;}int sum=0;for(int i=1;i<=n;i++){if(A[i]!=0&&A[i+1]==0) sum++;}return sum;}int main()
{int n;//n个数int Mostp=0;cin>>n;int sum=0;//记录不做任何操作时的总的非0段数 cin>>A[1];for(int i=2;i<=n;i++){cin>>A[i];if(A[i]>Mostp) Mostp=A[i];if(A[i-1]==0&&A[i]!=0) sum++;}if(A[n]!=0) sum++;for(int p=2;p<=Mostp;p++){if(FindSum(A,p,n)>sum) sum=FindSum(A,p,n);} cout<<sum;return 0;
}

暴力算法:70分

差分法+前缀和:

#include<iostream>
#include<bits/stdc++.h>using namespace std;const int N = 500000;
const int M = 10000;
int a[N+2], d[M+1];int main()
{int n;scanf("%d", &n);for (int i = 1; i <= n; i++){scanf("%d", &a[i]);}a[0] = a[n+1] = 0;// unique 去除相邻重复的元素,并把他们移动到末尾// n 为相邻不重复时的数组长度,从0到n,不包括nn = unique(a, a+n+2)-a;//unique,去除相邻的重复元素,返回的是去除之后的元素个数 memset(d, 0, sizeof d);//对较大的结构体或数组进行清零操作的一种最快方法for (int i = 1; i < n-1; i++){//当p=i时有几个凸点 if (a[i-1] < a[i] && a[i] > a[i+1]){d[a[i]]++;}else if (a[i-1]>a[i] && a[i]<a[i+1]){d[a[i]]--;}}int ans = 0, sum = 0; //差分后缀和即为答案for (int i = M; i >= 1; i--){sum += d[i], ans = max(ans, sum);}cout << ans << endl;return 0;
}

CCF 202109-2 非零段划分(C++)差分法 - 白缺 - 博客园 (cnblogs.com)

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

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

相关文章

java获取classpath路径, maven项目获取classpath路径

有一个文件位于 src/main/resources/test.txt 有一个类位于 src/main/java/com/qunar/MyClass.java String path Demo.class.getClassLoader().getResource("test.txt").getPath();System.out.println(path); 可以直接获取文件路径 而classpath可以通过如下代码获…

文心一言 VS 讯飞星火 VS chatgpt (152)-- 算法导论12.2 8题

八、用go语言&#xff0c;证明&#xff1a;在一棵高度为 h 的二叉搜索树中&#xff0c;不论从哪个结点开始&#xff0c;k 次连续的 TREE-SUCCESSOR 调用所需时间为 O(kh)。 文心一言&#xff1a; 要证明在一棵高度为 h 的二叉搜索树中&#xff0c;不论从哪个结点开始&#xf…

VSCODE 运行C程序缓慢解决方法之一

最近更换了mingw的版本&#xff0c;安装路径与之前的mingw路径不大一样。结果发现代码运行的时候很慢&#xff0c;弹出窗口后&#xff0c;迟迟没有打印任何东西&#xff0c;就像卡死了一样。试过网上说的一堆方法&#xff0c;没有什么用。 我按照以下流程进行检查: 1.检查min…

地震反演基础知识3

文章目录 地震勘探原理1 地震波1. 1 地震波概念1. 2 波的传播1. 2. 1 波传播的基本原理1. 2. 2 地震波的反射,折射,透射的1. 2. 3 地震子波&#xff08;seismic wavelet&#xff09;1. 2. 4 地震合成记录 2 地震时距曲线2.1 地震时距曲线作用2.2 不同波的时距曲线2.2.1 直达波时…

【Jeecg Boot 3 - 保姆级】第1节 docker + redis + nginx + redis一键安装启动

一、前言 ▶ JEECG-BOOT 开源版难以吃透的原因 ▶ 为了针对上面痛点&#xff0c;笔者做了如下安排 ▶ 你能收获什么 二、效果(第一节效果) ▶ 启动后端 &#xff1e; 日志 &#xff1e; 接口文档 ▶ 启动前端 三、准备工作 四、实战 ▶ 1、服务器安装 Stag…

2024年甘肃省职业院校技能大赛信息安全管理与评估赛项二三阶段样题一

2024年甘肃省职业院校技能大赛高职学生组电子与信息大类信息安全管理与评估赛项样题一 第二阶段 任务书 任务描述 随着网络和信息化水平的不断发展&#xff0c;网络安全事件也层出不穷&#xff0c;网络恶意代码传播、信息窃取、信息篡改、远程控制等各种网络攻击 行为已严重…

rabbitmq作为celery后端使用rpc://之后AnsycResurt一直是pending

木有找到好办法&#xff0c;2017年issue就提了 改为redis了 https://github.com/celery/celery/issues/4084添加链接描述

3D渲染和动画制作软件KeyShot Pro mac附加功能

KeyShot 11 mac是一款专业化实时3D渲染工具&#xff0c;使用它可以简化3d渲染和动画制作流程&#xff0c;并且提供最准确的材质及光线&#xff0c;渲染效果更加真实&#xff0c;KeyShot为您提供了使用 CPU 或 NVIDIA GPU 进行渲染的能力和选择&#xff0c;并能够线性扩展以获得…

做数据分析为何要学统计学(4)——什么问题适合使用卡方检验?

卡方检验作为一种非常著名的非参数检验方法&#xff08;不受总体分布因素的限制&#xff09;&#xff0c;在工程试验、临床试验、社会调查等领域被广泛应用。但是也正是因为使用的便捷性&#xff0c;造成时常被误用。本文参阅相关的文献&#xff0c;对卡方检验的适用性进行粗浅…

Linux 多进程并发设计-进程对核的亲缘设置

1设计结构 2 设计优点 1 充分利用多核系统的并发处理能力2 负载均衡3 职责明确&#xff0c;管理进程仅负责管理&#xff0c;工作进程仅负责处理业务逻辑 3 演示代码: //main.cpp #define _GNU_SOURCE #include<sys/types.h> #include<sys/wait.h> #include <…

新生儿出生缺陷筛查的关键注意事项

引言&#xff1a; 新生儿的出生缺陷是一个复杂而广泛的问题&#xff0c;及早的筛查和诊断对于预防和管理这些缺陷至关重要。出生缺陷可能涉及各个系统&#xff0c;包括心脏、神经、遗传等&#xff0c;因此及时而全面的筛查对新生儿的健康至关重要。本文将深入探讨新生儿出生缺…

LocalDateTime加一年取有效期23:59:59

&#x1f60a; 作者&#xff1a; 瓶盖子io &#x1f496; 主页&#xff1a; 瓶盖子io-CSDN博客 打印控制台: 2023-12-08T11:59:13.739 当前系统时间

2023-简单点-python的多路复用小例子

python和多路复用的小栗子 Python 实现的多路复用多路复用如何知道fd就绪了&#xff1f;如何优化时间&#xff1f;优化事件处理 fd的状态有哪些&#xff1f; Python 实现的多路复用 # 导入selectors模块&#xff0c;这个模块可以实现I/O多路复用 import selectors # 导入s…

【数电笔记】53-与非门构成的基本RS触发器

目录 说明&#xff1a; 1. 电路组成 2. 逻辑功能 3. 特性表 4. 特性方程 5. 状态转换图 6. 驱动表 7. 例题 例1 例2 说明&#xff1a; 笔记配套视频来源&#xff1a;B站&#xff1b;本系列笔记并未记录所有章节&#xff0c;只对个人认为重要章节做了笔记&#xff1b…

rollup打包报错“semantic error TS2802”

rollup版本:2.79.1;nodejs:16.16.0;typescript:5.1.6 错误信息 Error: D:/**/*.ts(158,32): semantic error TS2802: Type StyleSheetList can only be iterated through when using the --downlevelIteration flag or with a --target of es2015 or higher. 修改tsconfig.j…

护眼灯有效果吗?考研必备护眼台灯推荐

据统计&#xff0c;中国人口的近视率约为10%至20%。 国家卫健委发布的中国首份眼健康白皮书显示&#xff0c;我国小学生近视率为47.2%&#xff0c;初中生近视率为75.8%&#xff0c;大学生近视率超过90%。据世界卫生组织统计数据显示&#xff0c;目前全球约有14亿近视人口&#…

代码随想录算法训练营第31天|● 理论基础 ● 455.分发饼干 ● 376. 摆动序列 ● 53. 最大子序和

455. 分发饼干 简单 假设你是一位很棒的家长&#xff0c;想要给你的孩子们一些小饼干。但是&#xff0c;每个孩子最多只能给一块饼干。 对每个孩子 i&#xff0c;都有一个胃口值 gi这是能让孩子们满足胃口的饼干的最小尺寸&#xff1b;并且每块饼干 j&#xff0c;都有一个尺寸…

QT作业1

自由发挥登录窗口的应用场景&#xff0c;实现一个登录窗口界面 头文件代码&#xff1a; #ifndef MYWIDGET_H #define MYWIDGET_H#include <QWidget> #include <QIcon> #include <QLabel> //标签类 #include <QMovie> //动图类 #include <…

python获取公网IP的三种方法

一、requests模块(python3) import requestsdef get_public_ip():response requests.get(http://ip-api.com/json)if response.status_code 200:data response.json()if data[status] success:return data[query]return None print(get_public_ip())二、urllib模块(python…

JS 语句语法1

01-js介绍.js // 语法分类&#xff1a;es5、es6&#xff0c;js是弱类型语言。 // es6是对es5语法的优化、查漏补缺。 02-变量声明.js // es5变量声明使用var // 1. 可以重复声明变量&#xff1b; // 2. 存在变量提升&#xff1b; // 变量提升&#xff1a;是js中一种特有的编…