poj 2104 主席树

信息学奥赛一本通高手训练1680:序列 题目 代码 #include<cstdio> #include<iostream> #include<cmath> #define LL long long using namespace std; const LL N = 1400000+7; const LL mod = 1e9+7; int n, t; LL pos[N], sum[N], ans[N]; struct node{ LL ll, rr; }a[N]; int main(){ p 阅读详情

自己敲一个模板以后用

#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;
}
手把手教你完成基于YOLOv8的水果/商品/食堂/蔬菜/饮料/书籍识别与计价系统,前台+后台管理系统 手把手教你完成基于YOLOv8的商店的水果/商品/食堂/蔬菜/饮料/书籍识别与计价系统,前台+后台管理员系统,可进行目标检测的操作和展示,实现对图片、视频和摄像头的实时目标检测 阅读详情

相关推荐

大模型训练中的AllReduce:从原理到实战,如何优化你的分布式训练效率

本文深入解析了大模型分布式训练的核心通信操作AllReduce,特别是高效的Ring All-Reduce算法原理。文章从实战角度出发,探讨了如何通过通信计算重叠、梯度累积策略、NCCL库调优以及混合并行通信优化等手段,有效降低通信开销,从而显著提升大模型训练效率。

julia4scientist的博客 524

主席树 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

AI 技术新手入门与实战指南

仅仅能对话还不够,实际应用中,我们往往需要让 AI 处理特定的业务数据。比如,从日志文件中提取错误码,或者将非结构化的用户反馈整理成 JSON 格式。这时候,自定义输入和严格的结果验证就显得尤为重要。假设我们需要让 AI 分析一段服务器日志,并只返回错误的级别和简述。请分析以下日志片段,提取所有 ERROR 级别的信息。要求输出格式为 JSON 列表,包含 'timestamp' 和 'message' 两个字段。不要输出任何多余的解释文字。日志内容: {

2600_94936330的博客 2680

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

VisionMaster SDK C#二次开发核心技术指南

以下是基于**VisionMaster SDK C#二次开发核心技术指南**,结合实战案例与关键代码解析,帮助开发者快速掌握工业视觉应用集成。

东城十三 3055

SAP SmartForms字体 :从OTF缓存溢出到完美解决

精准诊断:遇到错误,首先区分是图片过大还是字体嵌入导致。删除图片测试是最快的判别方法。字体上传规范始终从SE73入口上传用于表单打印的字体。强烈建议应用SAP Note 1301018,确保上传时勾选“不替换其他字体”,避免系统自动替换引发的意外问题。如需为同一字体族上传粗体、斜体等变体,请在SE73初始屏幕上勾选对应的属性框(如BOLD),然后分别上传对应的字体文件(如上传过程中,系统会提示输入RTF控制序列信息,这是确保打印预览正常显示的关键步骤,必须正确填写。方案选型快速止血:采用方案一(

Pegasus666的博客 294

主席树模板poj2104

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

sunnyorrainy的博客 150

OpenCV C++ 图像处理实战 ——《基于轮廓比对的缺陷检测》

本文使用OpenCV C++ 实现基于轮廓比对的缺陷检测。

Zero___Chen的博客 1148

[POJ2104] 主席树模板题

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

泉華子的OI足迹 519

置顶必读(2) | 《YOLOv11实战:从入门到深度优化》目录导航篇(持续更新中)

🏆 本文收录于 《YOLOv11实战:从入门到深度优化》 专栏。 本专栏系统梳理并持续复现全网各类 YOLOv11 / YOLO系列改进方案与实战案例,目前已覆盖 分类、检测、分割、追踪、关键点、OBB 检测 等多个方向。 内容坚持 持续更新 + 深度拆解 + 工程落地导向,不仅讲“怎么改”,更讲“为什么这样改、如何真正落地到项目中”。

**My Coding Family** 11万+

一周一个Unity小游戏2D反弹球游戏 - 球反弹的方向

本文将实现当球在球板上反弹时,会根据球板移动的方向来给球施加反弹的力,例如当球板往左移动时反弹球,则球应向左上方反弹,若球板往右移动时反弹球,则球应向右上方反弹。

Giver的博客 752

主席树POJ2104

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

无名山丘,崛起成峰 1253

微信小程序推广策略,打开小程序领域流量大门

本文旨在为小程序开发者、运营者和企业主提供一套完整的微信小程序推广策略体系,帮助他们在竞争激烈的小程序生态中获得更多流量和用户。内容涵盖从0到1的冷启动策略,到成熟期的增长技巧。本文将首先介绍小程序的基础推广设置,然后深入探讨各种流量获取渠道,接着分析数据驱动的优化方法,最后展望未来发展趋势。小程序:无需下载安装即可使用的应用,运行在微信生态内:独立访客数:页面浏览量转化率:完成目标行为的用户比例留存率:用户在一定时间后仍活跃的比例自然流量获取:通过优化搜索、完善资料等方式获得基础流量社交裂变。

小程序开发 1031

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

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

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

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

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

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

积少成多,水滴石穿 172

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

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、付费专栏及课程。

余额充值