acwing算法提高之基础算法--前缀和、差分、二分

目录

  • 1 介绍
  • 2 训练

1 介绍

本博客用来记录前缀和、差分、二分相关的题目。

2 训练

题目1:99激光炸弹

C++代码如下,

#include <cstdio>
#include <string>
#include <iostream>
#include <algorithm>using namespace std;const int N = 5010;int s[N][N];int main() {int n, R;scanf("%d%d", &n, &R);R = min(R, 5001);for (int i = 0; i < n; ++i) {int x, y, w;scanf("%d%d%d", &x, &y, &w);x++, y++;s[x][y] += w;}for (int i = 1; i <= 5001; ++i) {for (int j = 1; j <= 5001; ++j) {s[i][j] += s[i-1][j] + s[i][j-1] - s[i-1][j-1];}}int res = 0;for (int i = R; i <= 5001; ++i) {for (int j = R; j <= 5001; ++j) {res = max(res, s[i][j] - s[i-R][j] - s[i][j-R] + s[i-R][j-R]);}}printf("%d\n", res);return 0;
}

题目2:100增减序列

C++代码如下,

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>using namespace std;const int N = 100010;typedef long long LL;int n;
int a[N], b[N];int main() {scanf("%d", &n);for (int i = 1; i <= n; ++i) scanf("%d", &a[i]);for (int i = 1; i <= n; ++i) b[i] = a[i] - a[i-1];LL p = 0, q = 0;for (int i = 2; i <= n; ++i) {if (b[i] > 0) p += b[i];else q -= b[i];}cout << max(p, q) << endl;cout << abs(p - q) + 1 << endl;return 0;
}

题目3:102最佳牛围栏

C++代码如下,

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>using namespace std;const int N = 100010;int n, F;
double a[N], s[N];bool check(double avg) {for (int i = 1; i <= n; ++i) s[i] = s[i-1] + a[i] - avg;double mins = 0;for (int k = F; k <= n; ++k) {mins = min(mins, s[k-F]);if (s[k] >= mins) return true;}return false;
}int main() {scanf("%d%d", &n, &F);double l = 0, r = 0;for (int i = 1; i <= n; ++i) {scanf("%lf", &a[i]);r = max(r, a[i]);}while (r - l > 1e-5) {double mid = (l + r) / 2;if (check(mid)) l = mid;else r = mid;}printf("%d\n", (int)(r * 1000));return 0;
}

题目4:113特殊排序

C++代码如下,

// Forward declaration of compare API.
// bool compare(int a, int b);
// return bool means whether a is less than b.class Solution {
public:vector<int> specialSort(int N) {vector<int> res(1, 1);for (int i = 2; i <= N; ++i) {int l = 0, r = res.size() - 1;while (l < r) {int mid = l + r + 1 >> 1;if (compare(res[mid], i)) l = mid;else r = mid - 1;}res.push_back(i);for (int j = res.size() - 2; j > r; j--) swap(res[j], res[j+1]);if (compare(i, res[r])) swap(res[r], res[r+1]);}return res;}
};

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

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

相关文章

node.js中path模块-路径处理,语法讲解

node中的path 模块是node.js的基础语法&#xff0c;实际开发中&#xff0c;我们通过使用 path 模块来得到绝对路径&#xff0c;避免因为相对路径带来的找不到资源的问题。 具体来说&#xff1a;Node.js 执行 JS 代码时&#xff0c;代码中的路径都是以终端所在文件夹出发查找相…

JSON.stringify()和JSON.parse()

JSON.stringify() JSON.stringify() 是 JavaScript 中的一个内置方法&#xff0c;用于将一个 JavaScript 值&#xff08;对象或值&#xff09;转换为一个 JSON 字符串。这个方法对于在客户端和服务器之间传输数据特别有用&#xff0c;因为 JSON 是一种轻量级的数据交换格式&am…

Scratch编程和Python编程的区别,孩子更适合哪一种

Scratch编程和Python编程有一些显著的不同之处&#xff1a; Scratch是一种基于可视化编程的编程语言&#xff0c;通过拖拽代码块来构建程序&#xff0c;适合初学者和年龄较小的孩子学习。而Python是一种文本编程语言&#xff0c;需要输入代码来编写程序&#xff0c;更适合有一定…

SpringBoot对接口配置跨域设置

目录 1. 使用 @CrossOrigin 注解 2. 全局跨域配置 2.1. 注意事项 在 Spring Boot 应用中,接口配置跨域(Cross-Origin Resource Sharing,CORS)设置是一个常见的需求,特别是当你的前端应用和后端服务部署在不同的域名下时。 以下是几种设置跨域的方法: 1. 使用 @Cross…

基于Springboot的滑雪场管理系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的滑雪场管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&a…

11、Flink 的 Keyed State 详解

1.Keyed DataStream 使用 keyed state&#xff0c;首先需要为DataStream指定 key&#xff08;主键&#xff09;&#xff1b;这个 key 用于状态分区&#xff08;数据流中的 Record 也会被分区&#xff09;可以使用 DataStream 中 Java/Scala API 的 keyBy(KeySelector) 或者是 …

搜好货API接口:快速获取商品列表的利器

搜好货商品列表API接口允许开发者根据关键字搜索并获取相关的商品列表数据。接口支持多种参数配置&#xff0c;可以根据需求灵活调整搜索条件和结果返回格式。 点击获取key和secret API接口请求说明 请求地址&#xff1a;https://api.souhaohuo.com/goods/search请求方法&…

速卖通关键字搜索API接口:快速获取商品列表的利器

速卖通关键字搜索API接口允许开发者根据用户输入的关键字进行商品搜索&#xff0c;并返回与之相关的商品列表。通过调用该接口&#xff0c;您可以快速获取与关键字匹配的商品信息&#xff0c;包括商品标题、价格、图片等&#xff0c;为您的电商业务提供有力支持。 三、API接口…

以信息挖掘为关键技术的智慧校园建设

随着信息技术的快速发展&#xff0c;数据信息资源以井喷的姿态涌现。数据信息的大量涌现给人们带来丰富的数据信息资源&#xff0c;但面对海量的信息资源时&#xff0c;加大了人们对有效信息资源获取的难度&#xff0c;数据挖掘技术正是这一背景下的产物&#xff0c;基于数据挖…

【Redis】Redis安装、配置、卸载使用可视化工具连接Redis

文章目录 1.前置条件2.安装Redis2.1下载Redis安装包并解压2.2在redis目录下执行make命令2.3修改Redis配置文件2.4启动Redis服务2.5连接redis服务 3.Redis卸载4.使用可视化工具连接Redis 1.前置条件 Linux操作系统需要要是64位.如果不清楚自己Linux上是多少位的,可以使用以下命…

C语言之详细讲解文件操作(抓住文件操作的奥秘)

什么是文件 与普通文件载体不同&#xff0c;文件是以硬盘为载体存储在计算机上的信息集合&#xff0c;文件可以是文本文档、图片、程序等等。文件通常具有点三个字母的文件扩展名&#xff0c;用于指示文件类型&#xff08;例如&#xff0c;图片文件常常以KPEG格式保存并且文件…

一文了解复杂度

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、算法效率二、时间复杂度1.定义2.大O的渐进表示法3.一般常见复杂度4.实例 三、空间复杂度1.定义2.空间复杂度计算3.实例 总结 前言 计算复杂性理论&#xf…

Redis的持久化方法,各自优缺点,怎么选择?

持久化&#xff1a; redis基于内存是数据库&#xff0c;内容存到内存中&#xff0c;也可以存到硬盘中&#xff0c;这个过程就叫持久化。有两种方案&#xff0c;RDB和AOP两种。 RDB RDB持久化就是把当前进程数据生成快照保存到硬盘的过程RDB文件是⼀个压缩的二进制文件&#…

VisualGLM-6B微调(V100)

Visualglm-6b-CSDN博客文章浏览阅读1.3k次。【官方教程】XrayGLM微调实践&#xff0c;&#xff08;加强后的GPT-3.5&#xff09;能力媲美4.0&#xff0c;无次数限制。_visualglm-6bhttps://blog.csdn.net/u012193416/article/details/131074962?ops_request_misc%257B%2522req…

使用Axios从前端上传文件并且下载后端返回的文件

前端代码&#xff1a; function uploadAndDownload(){showLoading();const fileInput document.querySelector(#uploadFile);const file fileInput.files[0];const formData new FormData()formData.append(file, file)return new Promise((resolve, reject) > {axios({…

【经典论文阅读1】FM模型——搜推算法里的瑞士军刀

全文由『说文科技』原创出品&#xff0c;文章同步更新于公众号『说文科技』。版权所有&#xff0c;翻版必究。 FM模型发表于2010年&#xff0c;它灵活好用且易部署。作者行文极其流畅&#xff0c;作者首先对要处理的问题进行介绍&#xff0c;接着作者提出FM模型&#xff0c;这…

Vue单页面应用和多页面应用的区别

概念&#xff1a; SPA单页面应用&#xff08;SinglePage Web Application&#xff09;&#xff0c;指只有一个主页面的应用&#xff0c;一开始只需要加载一次js、css等相关资源。所有内容都包含在主页面&#xff0c;对每一个功能模块组件化。单页应用跳转&#xff0c;就是切换…

Grad-CAM(梯度加权类激活图)

Grad-CAM&#xff08;Gradient-weighted Class Activation Mapping&#xff09;是一种可视化技术&#xff0c;用于解释卷积神经网络&#xff08;CNN&#xff09;的决策过程。它通过生成类激活图&#xff08;Class Activation Map&#xff0c;CAM&#xff09;来突出显示对网络预…

笔试强训-day17_T2 十字爆破

一、题目链接 十字爆破 二、题目描述 牛牛在玩一个游戏&#xff1a; 一共有n行m列共nm个方格&#xff0c;每个方格中有一个整数。 牛牛选择一个方格&#xff0c;可以得到和这个方格同行、同列的所有数之和的得分。 例如&#xff1a;对于一个22的方格&#xff1a; 1 2 3 4 牛牛…

Python字符串常用方法(全网最细,仅此一份)

🥇作者简介:CSDN内容合伙人、新星计划第三季Python赛道Top1 🔥本文已收录于Python系列专栏: 👉Python从入门到精通 💬订阅专栏后可私信博主进入Python学习交流群,进群可领取Python180G全栈视频教程以及Python相关电子书合集 😊私信未回可以加V:hacker0327 备注P…