线段 最大值 末尾 区间

215. 数组中的第K个最大元素

给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入: [3,2,1,5,6,4], k = 2 输出: 5 代码 cl ......
数组 元素 215

Oracle 截取指定字符到目标串的末尾

Oracle 截取指定字符到目标串的末尾 substr ('目标字符串', 开始位置, 结束位置)instr( '目标字符串', '指定字符', 出现次数 -1表示最后一次)SELECT -- 目标字符串 目标字符串 指定符号 最后一个 最后一个字符位置+1 substr( 'HG/21060101 ......
末尾 字符 目标 Oracle

nginx上传附件最大限制修改及超时设置

http { server { location / { client_max_body_size 600m; client_body_buffer_size 128k; proxy_connect_timeout 600; proxy_read_timeout 600; proxy_send_ti ......
附件 nginx

生成10个随机数保存于数组中,并找出其最大值和最小值

[11:04:11 root@centos8 ~]#./arr.shAll numbers are 2527 14178 12156 9055 23564 13074 302 13216 21235 20627MAX is 23564MIN is 2527[11:04:17 root@centos8 ......
随机数 最大值 数组

如何处理一类多区间问题

形如 \(\sum_{i=l}^r M(L+i,R+i,x)\) 一类问题 不难发现这个东西实际上就是一堆等差数列,考虑这样高维差分 我们在 \(i\) 处放一个 1 ,就相当于在这里生成了一个公差为 1 等差数列,先在 \(L+l\) 处 生成一个数列 1 1 1 1 1 1 1 1 1 1 1 ......
区间 问题

编写脚本disk.sh,显示当前硬盘分区中空间利用率最大的值

[09:28:03 root@centos8 ~]#cat disk.sh#!/bin/bash​# # Copyright (C) 2021 IEucd Inc. All rights reserved.## 文件名称:disk.sh# 创 建 者:TanLiang# 创建日期:2021年09月2 ......
利用率 脚本 硬盘 disk sh

求最大公约数的三种方法:C语言

求最大公约数之穷举法 求最大公约数之穷举法 int a,b,c,gcd; scanf("%d%d",&a,&b); c = a<b?a:b; int i=1; for(i=c;i>=1;i--){ if(a%i==0 && b%i==0){ gcd=i; printf("GCD=%d\n",gcd) ......
最大公约数 公约数 语言 方法

力扣-1646-获取生成数组中的最大值

给你一个整数 n 。按下述规则生成一个长度为 n + 1 的数组 nums : nums[0] = 0nums[1] = 1当 2 <= 2 * i <= n 时,nums[2 * i] = nums[i]当 2 <= 2 * i + 1 <= n 时,nums[2 * i + 1] = nums[ ......
最大值 数组 1646

AcWing 126. 最大的和

\(AcWing\) \(126\). 最大的和 关键字 最大子段和,有一维和二维两种情况 一维:\(O(N)\) 二维:\(O(n^3)\) 一、题目描述 给定一个包含整数的二维矩阵,子矩形是位于整个阵列内的任何大小为 \(1×1\) 或更大的连续子阵列。 矩形的总和是该矩形中所有元素的总和。 在 ......
AcWing 126

【bitset】【线段树】CF633G Yash And Trees 题解

CF633G 简单题。 先看到子树加和子树质数个数和,果断转换为 dfs 序进行处理。 既然有区间求和,考虑线段树。 若对于每一个节点维护一个 \(cnt\) 数组,用二进制数 \(x\) 来表示,即当 \(cnt_i = 1\) 时第 \(i\) 位为 \(1\)。设当前节点为 \(u\),左右子 ......
线段 题解 bitset Trees 633G

【线段树合并】CF1805E There Should Be a Lot of Maximums 题解

CF1805E 待补:有另解 看到维护树上问题,可以想到线段树合并。 但直接维护显然不行,要一点技巧。 发现 \(val\) 的出现次数 \(cnt_{val}\) 如果 \(\ge 3\),那么一定是一个候选项,若 \(cnt_{val} = 1\),那么一定不能作为候选项。 于是可以用权值线段树 ......
线段 题解 Maximums Should 1805E

线段树合并 && 分裂

线段树合并 引入 线段树合并就是把两颗线段树合并起来。 比如: 线段树 \(a\) 维护 \([1,1,2,0,0,2]\)。 线段树 \(b\) 维护 \([0,0,2,5,1,2]\)。 合并后的线段树 \(c\) 所维护的序列就是 \([1,1,4,5,1,4]\)。 解决问题 目前我所见到的 ......
线段 amp

关于线段树

动态开点 当到了未建立过的新点时再建立点,一般用结构体来存储线段树。 大致代码: #define lx tree[x].l #define rx tree[x].r #define mid ((l + r) >> 1) int cnt; struct node{ int l, r; int v; } ......
线段

线段树学习笔记

学习链接 代码(未完成) #include<bits/std++.h> using namespace std; int array[200005],tree[200005<<2]; // array是初始数组,tree是线段树 void update(int item) // 更新 item 号节 ......
线段 笔记

Letter Picking (CF D) (区间DP, 暴力)(0,1,2 Alice 平 bob ,尽可能小,尽可能大)

思路 : 区间dp(区间DP的时间复杂度 不一定是 n^3 ,可能是 n^2 更具题意) 直接题 直接 区间dp, 0 Alice 赢 1 平局 2 Bob 赢 (于是 alice 尽可能小, bob 尽可能大) alice 选 l , bob 可以选 l+1, 或者 r alice 选 r , b ......
尽可能 区间 暴力 Picking Letter

合并区间(区间排序,vector的动态扩容的应用)

以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。 示例 1: 输入:intervals = [[1,3],[2,6],[8,10],[ ......
区间 动态 vector

笔记——线段树

蓝月の笔记——线段树篇 在树状数组中,我们讲解了关于单点修改区间查询的操作。今天,我们要讲一种更加高级的数据结构,他解决的是区间修改区间查询的问题多了一个区间当然更高级啦。 这个数据结构就是——线段树 Luogu - P3372 给定一个长度为 \(n\) 的序列 \(a_1,a_2,\cdots, ......
线段 笔记

线段树模板

应该是做的最认真的模板了。。。 namespace xds{ template<class T,const int MYMAXSIZE,T (*fun)(T a,T b)> class STree{ private: T t[MYMAXSIZE<<2],tag[MYMAXSIZE<<2],a[MYM ......
线段 模板

【数据结构】- 线段树

线段树 简介 线段树是可以维护 区间信息 的数据结构。线段树将每个长度不为 \(1\) 的区间划分成左右两个区间递归求解,故把整个线段划分为一个树形结构,通过合并左右两区间信息来求得该区间的信息。 根据建树方式可分为普通线段树和动态开点线段树。 根据区间信息可分为普通线段树、权值线段树和李超线段树。 ......
线段 数据结构 结构 数据

EI 的区间加正数区间最大子段和的 polylog 做法(KTT)

非常有道理。orz EI。 首先单点修改区间最大子段和是 GSS 的经典问题。我们维护出区间和 \(sm\)、最大前缀和 \(lmx\)、最大后缀和 \(rmx\)、最大子段和 \(mx\),发现这是一种半群信息,直接线段树维护就可以了。 那么对于区间加正数问题,我们依然考虑线段树。线段树想要 pu ......
区间 正数 做法 polylog KTT

note 线段树

适用场景:不断区间修改、区间询问。 假设我们要区间求和,\(tree\) 的含义:区间的和,其两个子节点为这个区间分为两半的和。 我们把一个数组 \(a\) 看作一颗树 \(tree\),例: 1 1 2 3 3 3 对应的 \(tree\)(\(()\)里是编号,\([]\)里是对应的区间): ( ......
线段 note

线段树专题复习

今天的主题是线段树专题复习! (什么?是昨天的?不听不听,只要我不说都不知道我鸽了一天!) 好了,言归正传,我们来看一下今天的知识点们吧。 Part 1 线段树自己 不想讲了,想看的移步其他博客 想看踢我,今天没时间了 Part 2 一些优化 ZKW线段树 俗称重口味线段树,是一种不用递归实现的线段 ......
线段 专题

线段树

前言: 继树状数组,一年后,kkk05终于决定把它的好兄弟——线段树附上。(明明一年前就学了但是今天才写的屑) 先简单地引入一下:P3372 忽略这道题的标题,看到这道题的第一想法大约是一维数组+m个循环+输出,照着这个思路写下去,不出意外的话,你将获得TLE。这时我们就该抬头看看标题:哦,什么是线 ......
线段

算法:线段树

算法:线段树 哦吼!终于来学线段树啦~~ 拖了好久都没有敢学,主要是基础知识点不熟,代码能力太弱。但是现在已经是时候了。 来看: 线段树(Segment Tree)几乎是算法竞赛最常用的数据结构了,它主要用于维护 区间信息 (要求满足结合律)。与树状数组相比,它可以实现 \(O(log⁡\ n)\) ......
线段 算法

csps区间dp

加分二叉树 我们可以枚举中间这个 k 的位置,然后分别递归计算左右子树,这就让我们想到这是一个和区间有关的,我们可以用区间dp来解决。 \(f[i][j]\) 表示 i, j 这个区间的最大分值。用一个很板子的区间dp就可以解决了。 至于求前序遍历,我们也只需要通过递归然后枚举中间的根,第一个满足最 ......
区间 csps

线段树优化建图

一个很好用的 \(trick\)。 我们通过例题 CF786B 为例。 他需要我们支持点之间连边,点和区间之间连边,区间和点之间连边。 支持最短路。 如果我们暴力连边,显然最多是有 \(n^2\) 条边的。那怎么办呢,引入线段树分治。 线段树分治 在某些题中,我们可能会用 \(v \to u\in[ ......
线段

P5682 [CSP-J 2019] 次大值

题目描述 传送门 Alice 有 \(n\) 个正整数,数字从 \(1 \sim n\) 编号,分别为 \(a_1,a_2, \dots , a_n\)。 Bob 刚学习取模运算,于是便拿这 \(n\) 个数进行练习,他写下了所有 \[a_i \bmod a_j (1 \le i,j \le n \ ......
P5682 CSP-J 5682 2019 CSP

P5943 [POI2002] 最大的园地 题解

题目传送门 前置知识 单调栈 简化题意 在一个 \(n \times n\) 的正方形内找到最大的由 \(0\) 组成的子矩形的面积。 解法 令 \(f_{i,j}(1 \le i,j \le n)\) 表示从 \((1,j)\) 到 \((i,j)\) 中以 \((i,j)\) 结尾的均为 \(0 ......
题解 园地 P5943 5943 2002

线段裁剪:Cohen-Sutherland算法

目录裁剪算法Cohen-Sutherland线段裁剪算法基本思想具体步骤计算分析程序代码 裁剪算法 计算机内部存储的图形数据量通常较大,而屏幕只显示其中一部分,因此需要确定哪些部分在显示区域内,哪些在显示区域外。这个过程称为裁剪(clipping)。裁剪是二维观察(三维观察)的重要部分,参见计算机图 ......

基础算法:区间合并

1、区间合并 以AcWing.803为例,题目要求如下: 给定n个区间 [li,ri],要求合并所有有交集的区间。 注意如果在端点处相交,也算有交集。 输出合并完成后的区间个数。 例如:[1,3] 和 [2,6]可以合并为一个区间 [1,6]。 输入格式第一行包含整数 n。 接下来 n 行,每行包含 ......
区间 算法 基础