poj 2104 主席树

BugkuCTF-PWN题pwn2-overflow超详细讲解 解题思路 1)计算出get_shell_的地址偏移量 2)算出来之后就直接溢出到后门函数 知识点 x64函数调用规则 解题之前我们先学下linux x64的函数调用规则。 x64机器在调用某个函数前,比如int func(int a, int b, int c, int d, int e, int f, int g, int h),首先他会把前6个参数从左往右存入到寄存器rdi、rsi、rdx、rcx、r8、r9,其余参数存入到栈里,保存的顺序是从右往左入栈。比如abcdef会存入到寄存器里,然后一次入栈h 阅读详情

自己敲一个模板以后用

#include <cstdio>
#include <iostream>
#include <iomanip>
#include <string>
#include <cstdlib>
#include <cstring>
#include <queue>
#include <set>
#include <vector>
#include <map>
#include <algorithm>
#include <cmath>
#include <stack>

#define INF 0x3f3f3f3f
#define IMAX 2147483646
#define LINF 0x3f3f3f3f3f3f3f3f
#define ll long long
#define ull unsigned long long
#define uint unsigned int

using namespace std;

struct T {
	int lc, rc;
	int dat;
}t[211111 * 32];

int cnt, root[211111], sorted[211111], a[211111];
int insert(int now, int pos, int l,int r) {
	t[++cnt] = t[now], t[cnt].dat++;
	int p = cnt;
	if (l == r)return p;
	int mid = (l + r) / 2;
	if (pos <= mid)t[p].lc = insert(t[now].lc, pos, l, mid);
	else t[p].rc = insert(t[now].rc, pos, mid + 1, r);
	return p;
}

int ask(int s, int e, int l, int r, int k) {
	if (l == r)return l;
	int mid = (l + r) / 2;
	int sum = t[t[e].lc].dat - t[t[s].lc].dat;
	if (k <= sum)return ask(t[s].lc, t[e].lc, l, mid, k);
	else return ask(t[s].rc, t[e].rc, mid + 1, r, k - sum);
}

int n, m, len, pos, l, r, k;

int main() {
	scanf("%d%d", &n, &m);
	cnt = 0, root[0] = 0;
	for (int i = 1; i <= n; i++) 
		scanf("%d", a + i), sorted[i] = a[i];
	sort(sorted + 1, sorted + n + 1);
	len = unique(sorted + 1, sorted + n + 1) - (sorted + 1);
	for (int i = 1; i <= n; i++) 
		root[i] = insert(root[i - 1],
			lower_bound(sorted + 1, sorted + n + 1, a[i]) - sorted, 1, len);
	
	while (m--) {
		scanf("%d%d%d", &l, &r, &k);
		pos = ask(root[l - 1], root[r], 1, len, k);
		printf("%d\n", sorted[pos]);
	}
	return 0;
}
【AI平台】n8n入门2:第一个工作流,调用本地大模型 n8n是一款开源的,专注于AI工作流构建,支持灵活的自定义与集成。就是可以把大模型和其他工具联合起来,这就厉害了。而且,免费功能又强大,目前很火,来研究一下。 阅读详情

相关推荐

AT89C52单片机+LCD屏:手把手教你做一个能算小数和负数的计算器(附完整代码)

本文详细介绍了如何使用AT89C52单片机和LCD1602显示屏构建一个支持小数和负数运算的高精度计算器。从硬件选型、系统架构设计到核心算法实现,提供了完整的代码示例和优化技巧,特别适合51单片机初学者和课程设计参考。

weixin_30374009的博客 370

主席树 POJ 2104

关于主席树,其实就是线段树的变形。只不过主席树,每个节点,例如 1-2区间这个节点,他存入的是1-2区间现在有几个数字落在这个区间了,即1-2区间内数字个数。 这里1-2指的是离散化后的大小。 比如 7 8 5 3 2 离散化后,就是4 5 3 2 1 所以1-2区间一直要等到原数组7 8 5 3 2读入到3开始,才会有值,之前一直为零。 所以我们就找到一颗这样的线段树,来储存区间内数字的个数。...

weixin_44019404的博客 207

IP白名单校验

支持格式: 1、127.0.0.1 // 指定固定IP 2、127.0.0.1-127.0.0.128 // 可使用“-”来表示一个IP区间,支持跨IP段(一般不会出现这种情况,跨IP段则配置多个规则) 3、127.0.* // 2~4位IP段可...

2199

POJ 2104 (主席树)

区间第K大,主席树 #include #include #include using namespace std; const int maxn=1e5+5; struct node { int l,r; int sum; }T[maxn*40]; int root[maxn],a[maxn],cnt,sum; vectorv; int getid(int x) {

寻梦道理的专栏 459

ROS机器人全覆盖路径规划实战:6种ipa算法对比与选型指南(附避坑经验)

本文深入对比了ROS中ipa_coverage_planning功能包集成的6种全覆盖路径规划算法,包括牛耕分解、栅格旅行商、神经网络、局部能量最小、轮廓线和凸感知放置。文章从覆盖率、重复率、计算效率、动态避障等核心工程指标出发,提供了基于不同场景(如静态/动态环境、规则/复杂布局)的实战选型指南,并分享了神经网络和局部能量最小等关键算法的参数调优与避坑经验,旨在帮助开发者根据实际需求选择并优化最合适的ipa覆盖算法。

perl8的博客 363

医学影像处理实战:如何用Python+SimpleITK搞定DICOM/NIfTI重采样(附完整代码)

本文详细介绍了如何使用Python和SimpleITK库实现医学影像(DICOM/NIfTI格式)的智能重采样技术。通过实战代码演示,帮助读者掌握医学图像处理中的关键步骤,包括环境搭建、数据准备、核心算法实现和质量验证,解决医学AI领域中的影像标准化难题。

linux的博客 981

主席树模板poj2104

题意:给一个数组,问区间(L,R)内的第k小个数字,就是把(L,R)内的元素从小到大排序,取第k个数。 主席树的模板题,但是主席树确实很难想,而且也不是很好理解。代码也是抄的大佬的。。。 大概的结构是当n棵权值线段树,每次加入一个数,就要建立一个独立的权值线段树,但是对于这个新建立的权值线段树的左右子树,如果和前一棵树相同就不再建立新的,而是直接沿用前一棵树的。如果没有能用的子树,就只能建立新...

sunnyorrainy的博客 150

基于DSP28335的Matlab/Simulink代码生成实验七:A/D采样

实验七:讲解如何使用DSP的ADC模块,通过代码生成技术控制DSP进行电流采样,是后续实现电机闭环控制的重要环节。通过简单的实验来熟悉代码生成的过程。最终实现复杂算法代码自动生成,进行高性能电机控制!

m0_73869369的博客 4724

[POJ2104] 主席树模板题

第一次写主席树,比较畏惧,害怕又会因为一些小错误调试半天,就拿这玩意当模板题写了,然而并没有想象的困难。抱怨几句指针的写法要判NULL真的麻烦= = 随便写什么树一眼望过去全是if(XXXX!=NULL)关于题目题目连接:POJ2104 题目大意:给你一串数字,每次询问区间[L,R]的第K大分析与思路感觉没有什么可以说的···· 就是要注意建树的时候,后一个节点相对于前一个节点的树实际上只改动

泉華子的OI足迹 519

【DaVinci Developer专题】-8-创建一个枚举Enum ADT(Application Data Type)

目录 1 创建一个枚举Value ADT(Application Data Type) 1.1 命名application data type 1.2 创建一个computation method计算方法属性 1.3 创建一个Contraint约束条件属性 2 创建了一个新的Type Mapping Sets 3 创建了一个S/R Port Interface 4 SWC引用Type Mapping set 5 导入CFG生成代码的总结 6 结尾 <--返回「实战篇」博文-总目录-

「汽车电子助手」的博客 2292

AUTOSAR 导入DBC ISOLAR工程配置

ISOLAR工程配置-dbc导入

汽车电子电气 2407

主席树POJ2104

求区间第k大数是多少 用我惯用的线段树写法似乎不适合写主席树,看别人的代码好半天才看懂 用root表示每一个前缀树的根,思想大致是由第i-1个树构成的树建第i个树,由于加入一个数只需要log级别修改,所以建树效率很高。 主席树的精髓在于可持续化,就是说之前区间的信息不去修改它,递推加入新元素的时候,要新开log个空间来存储。因为主席树本身比较占用空间,只需改变这些空间的指向就可以重复利用不变

无名山丘,崛起成峰 1253

《QGIS快速入门与应用基础》151:批量属性值赋值(字段计算器)

本文介绍了QGIS中字段计算器的批量属性值赋值方法,重点讲解了简单赋值(统一值和递增序列)的操作步骤与表达式应用。文章首先强调数据备份、字段类型确认等必要前提,随后详细解析字段计算器的界面功能分区和打开方式。通过具体场景示例,展示了如何为图层统一赋值固定值或生成连续编号序列,并提供了文本、数字、日期等不同字段类型的表达式模板。文中特别提醒新手优先创建新字段而非直接更新现有字段,以避免数据丢失风险,同时推荐使用$id和rownum()函数实现基础序列生成。该教程适合GIS初学者快速掌握批量属性编辑的核心技能。

LuckyHanMo的博客 487

POJ - 2104 主席树模板

题目链接:https://vjudge.net/problem/POJ-2104 转自:https://blog.youkuaiyun.com/ModestCoder_/article/details/90107874 主席树需要用离散化。 a、b数组,一般储存输入数据 sz:节点个数 rt数组:存储每棵线段树的根节点编号 lc、rc数组:记录左儿子、右儿子编号 sum数组:记录节点权值 在该节点表示区间内的...

A 155

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

POJ 2104(主席树)

主席树板子 题目链接:>_> 题意:询问区间第k大的值 代码: #include<stdio.h> #include<iostream> #include<algorithm> #include<vector> using namespace std; const int MAXN = 1e5 + 10; int n, m, cnt,...

Darge. 222

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

主席树(poj-2104,hdu-2665)

1、问题描述: 给出n个数字,m次询问,每次求出区间[L,R]内的第k大值。 2、基本过程: 主席树其实是建立n个线段树,每个线段树所表示的区间为[1,i](i在区间[1,n]内),主席树上每个节点都是一个线段树。 主席树的每个节点存储的都是这个节点所包含的区间长度。 如上图所示,每个节点都保存自己的区间长度,当寻找第k大的值时,就从根节点分别向左或向右寻找 符合条件的点的位...

积少成多,水滴石穿 172

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

POJ2104 主席树

http://poj.org/problem?id=2104今天入门半年的ACM辣鸡终于搞懂了主席树其实主席树也没有那么难以前一直学不会大概是没有意志把它学下去或者说是内心比较浮躁总是看不下去别人的blog下边的一个板子是我从网上找的比较漂亮的一个板子当然我自己是写不出来的明天来学习带修改的主席树好像要附加上树状数组如果可以单位时间访问每个节点的话其实可以在查询的时候直接二分当然了树状结构的查询思...

Gipsy 296

poj2104(主席树讲解)

今天心血来潮,突然想到有主席树这个神奇的玩意儿。。。一直都只是听说也没敢看。(蒟蒻蛋蛋的忧伤。。。) 然后到网上翻大神的各种解释。。。看了半天。。。 一拍脑袋。。。哇其实主席树 真的难。。。【咳咳我只是来搞笑的】 看了很多种解释最后一头雾水啊。。。就是没法脑补出(嗯没错经常脑补数据结构长啥样)主席树的样子。。。。 最后终于找到了一个大大大大大大神犇的ppt,看到了主席树的真面目...

dbsaf26628的专栏 178

POJ2104 主席树入门

POJ2104 主席树入门题 题目大概说,有n个数和m次查询,n,m范围均在1e5,每次给你一个a,b,k,问你在这个查询中的第k小值,如果问的是最小值,我们直接用线段树就可以解决,关键就在于这个第k小值,我们显然不可能在一段区间内把第1到第n小值都用线段树维护,这样空间复杂度和时间复杂度同时爆表。因此需要主席树。主席树本质上仍是线段树,在这道题中我们应该先将值离散化,然后维护一个sum,表示[L,R]这个区间内有多少个值。然后对于前k个(k从1到n)数,都维护一个树,这样的话空间复杂度会爆表,但我们考虑到

weixin_51768998的博客 270

POJ 2104 K-th Number [主席树入门]【数据结构】

题目链接:http://poj.org/problem?id=2104 ———————————————————————————————————————————————— K-th Number Time Limit: 20000MS Memory Limit: 65536K Total Submissions: 53824 Accepted: 18506 Case T

Tabris的博客 690

POJ 2104 主席树板子

题目链接:http://poj.org/problem?id=2104 模板题,求区间第k小。 第k大把下面的数字改一下就好啦。 改成num-k+1就好乐! 这里留两个板子吧..0~n-1和1~n的; #include <iostream> #include <cstdio> #include <cstring> #include <alg...

人生如戏 402

主席树 poj2104

K-th Number Time Limit: 20000MS   Memory Limit: 65536K Total Submissions: 59390   Accepted: 20683 Case Time Limit: 2000MS Description You are working for Macrohard c

qq_39813645的博客 259

poj 2104 区间第k大 主席树

/* 静态主席树求区间第K大 poj 2104 主要思想: 1. 将数据离散化 2. 用线段树来维护信息,维护处于该区间的数的个数 3. 将原有数组中的每一个数依次插入,每次插入一个值的时候新建一棵线段树 这样就有了n+1棵线段树,对于询问(l,r,k),只需查询T[l-1]和T[r]两棵线段树

legedexinshi的专栏 574

POJ 2104 主席树

链接: http://poj.org/problem?id=2104 代码: 31 struct Node { int l, r, sum; }T[MAXN * 40]; 32 int a[MAXN], root[MAXN], cnt; 33 VI v; 34 35 void update(int l, int r, int &amp;x, int y, int po...

花海 104

POJ2104 Kth Number —— 主席树

题目链接:2104 — K-th Number Description You are working for Macrohard company in data structures department. After failing your previous task about key insertion you were asked to write a new data structu...

zhaohaibo的博客 426

kyeremal-poj2104-K-th Number-主席树

poj2104-K-th Number K-th Number Time Limit: 20000MS   Memory Limit: 65536K Total Submissions: 31790   Accepted: 9838 Case Time Limit: 2000MS Description You are w

kyeremal的专栏 862
上一篇: ch4901 带权并查集
下一篇: ch 5e01 线性dp
FawkesLi
博客等级 码龄8年 21粉丝 170原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值