UVa 1513 / UVALive 5902 Movie collection (树状数组)

ANSYS Fluent DPM实战:从单点到锥形注入的粒子模拟全流程解析 本文深度解析了ANSYS Fluent中离散相模型(DPM)的粒子注入(Injection)设置全流程。从单点注入到锥形喷雾,详细阐述了不同注入类型的物理本质、参数逻辑与适用场景,并提供了粒径分布、湍流扩散等高级参数设置技巧与实战避坑指南,帮助工程师精准模拟喷雾、粉尘等粒子运动行为。 阅读详情

1513 - Movie collection

Time limit: 3.000 seconds

Mr. K. I. has a very big movie collection. He has organized his collection in a big stack. Whenever he wants to watch one of the movies, he locates the movie in this stack and removes it carefully, ensuring that the stack doesn't fall over. After he finishes watching the movie, he places it at the top of the stack.

Since the stack of movies is so big, he needs to keep track of the position of each movie. It is sufficient to know for each movie how many movies are placed above it, since, with this information, its position in the stack can be calculated. Each movie is identified by a number printed on the movie box.

Your task is to implement a program which will keep track of the position of each movie. In particular, each time Mr. K. I. removes a movie box from the stack, your program should print the number of movies that were placed above it before it was removed.

Input 

On the first line a positive integer: the number of test cases, at most 100. After that per test case:


  • one line with two integers n and m (1$ \le$n, m$ \le$100000): the number of movies in the stack and the number of locate requests.
  • one line with m integers a1,..., am (1$ \le$ai$ \le$n) representing the identification numbers of movies that Mr. K. I. wants to watch.


For simplicity, assume the initial stack contains the movies with identification numbers 1, 2,..., n in increasing order, where the movie box with label 1 is the top-most box.

Output 

Per test case:


  • one line with m integers, where the i-th integer gives the number of movie boxes above the box with label ai, immediately before this box is removed from the stack.


Note that after each locate request ai, the movie box with label ai is placed at the top of the stack.

Sample Input 

2
3 3
3 1 1
5 3
4 4 5

Sample Output 

2 1 0
3 0 4

思路:使用树状数组+位置数组可破。


完整代码:

/*UVa: 0.175s*/
/*UVALive: 0.139s*/

#include<cstdio>
#include<cstring>
const int maxn=200010;

int c[maxn], p[100010], toppos;///使用数组p来保存位置

inline void update(int pos, int num) //1或-1(对0的加1,对1的减1)
{
	while (pos <= maxn)//全局更新!
	{
		c[pos] += num;
		pos += -pos & pos;
	}
}

inline int sum(int pos)
{
	int count = 0;
	while (pos)
	{
		count += c[pos];
		pos -= -pos & pos;
	}
	return count;
}

int main(void)
{
	int t, n, m, a;
	scanf("%d", &t);
	while (t--)
	{
		memset(c, 0, sizeof(c));
		memset(p, 0, sizeof(p));
		scanf("%d%d", &n, &m);
		toppos = n;
		for (int i = 1; i <= n; ++i)
		{
			p[i] = n - i + 1;
			update(i, 1);
		}
		//////////////////////////////////
		bool first = true;
		while (m--)
		{
			scanf("%d", &a);
			if (first)
			{
				printf("%d", n - sum(p[a]));
				first = false;
			}
			else
				printf(" %d", n - sum(p[a]));
			update(p[a], -1);
			p[a] = ++toppos;
			update(toppos, 1);
		}
		puts("");
	}
	return 0;
}



DRM驱动架构浅析-上(DRM基础概要与U-Boot阶段驱动解析) 本文主要探讨了Rockchip平台的DRM显示驱动架构及其在U-Boot阶段的实现。 阅读详情

相关推荐

MeshLab新手必看:5分钟搞定泊松表面重建(附完整点云处理流程)

本文详细介绍了如何使用MeshLab进行泊松表面重建,从点云数据导入、预处理到核心参数设置,再到后处理与模型优化,提供了完整的3D重建流程指南。特别适合计算机视觉和3D重建领域的新手快速掌握泊松重建技术,提升工作效率。

kafka6courier的博客 230

UvaLive-5902-Movie collection

继续树状数组~ 代码: #include #include #include using namespace std; const int maxn=200100; int n,m,t[maxn*2],p[maxn*2]; int lowbit(int x) { return x&(-x); } int sum(int x) { int sum=0; while(x>0

z309241990的专栏 1219

手把手教你用 Docker 构建自己的 CentOS 基础镜像

目录一、准备CentOS基础镜像二、撰写Dockerfile三、构建Docker镜像四、生成Docker容器 相信码农们经常会听说:虚拟机将成为历史,Docker才是未来 !!! 事实如此,现在大部分公司都在用 Docker 技术,想拥有自己的 Docker 专属镜像,那么 Dockerfile 就是入门,现在让我们一起来看一下 ------ 构建 Docker 镜像的全过程。 好文章 记得收藏...

Nick.Peng's Blogs 1万+

UVA 1513 - Movie collection(树状数组)

题目链接:点击打开链接 题意: 有编号1~n的n个影碟从上到下排列, 每次取一个影碟并把其放在最上面, 求每次取之前该影碟前面有多少个影碟。 取出影碟, 将该位置-1即可, 容易想到用树状数组来维护, 但是还要放到最前面。 其实解决方法很简单, 就是把数组开大一点, 前面留出足够大的空间, 不断更新位置即可。 细节参见代码: #include #include #include #incl

AC_Arthur的专栏 1564

GATK SNP过滤参数优化:从标准到个性化调整的实践指南

本文深入探讨了GATK SNP过滤参数的个性化调整策略,强调不应盲目套用官方标准参数。文章详细拆解了QD、FS、SOR等关键过滤参数的含义,并提供了通过数据分布分析、文献调研和迭代测试来确定适合自身数据(如动植物重测序)最佳阈值的实践方法,旨在帮助研究者在保留真实变异与剔除假阳性信号之间找到最优平衡。

weixin_29216049的博客 275

从翼型到湍流:用生活化案例图解空气动力学核心概念(中英双语版)

本文通过飞机机翼、F1赛车、高尔夫球等生活化案例,图解空气动力学核心概念。深入浅出地解释了攻角如何产生升力、边界层与流动分离如何影响阻力、马赫数如何划分速度世界,以及涡流与湍流的特性与应用。文章还介绍了计算流体动力学(CFD)这一现代数字风洞工具,帮助读者直观理解这些塑造现代交通与运动设计的无形之力。

metaverse5vr的博客 475

UVALive 5902 - Movie collection(BIT)

题目链接 https://cn.vjudge.net/problem/UVALive-5902 【题意】 给你一个长度为n的序列,刚开始序列从前到后分别为1,2,3…n,之后有若干次如下操作 每次选中一个元素x,统计序列中在x前面的元素有多少个,然后把x放到第一位 【输入格式】 多组输入,第一行为数据组数T. 之后每组数据第一行有两个整数n...

weixin_30491641的博客 131

【异常】OpenClaw总Token超限400报错400 Total tokens of image and text exceed max message tokens. Request id:

摘要: 多模态大模型调用中,图文总Token超限导致的400报错是常见问题。本文分析了该报错的触发原因(文本+图片Token总和超出接口限额),并从技术层面解释了多模态Token的计数规则。解决方案分为三个层次:1)紧急修复(精简文本、压缩图片、拆分请求);2)标准化根治(预校验Token、图片预处理、限额适配);3)进阶兜底(分块处理、模型升级、容错机制)。通过前置管控与源头优化,可有效解决并预防此类问题,提升业务稳定性。

奶爸的编程之路,也就一周冷个三天 831

uva 1513 - Movie collection(树状数组)

题目连接:uva 1513 - Movie collection 题目大意:一个人喜欢收集电影,电影的碟子从小到大放好,现在给定他每次要看的电影编号,输出有多少个碟子在该电影的上端,每次看完一个将会放回顶端。 解题思路:树状数组,用一个数组记录每个编号的电影现在所处的位置。然后用树状数组维护个数即可。 #include #include #include using name

不慌不忙、不急不躁 1604

从零开始学习PX4源码23(飞行模式管理)

本文摘要主要介绍了PX4飞控系统中飞行模式管理模块的代码实现流程。文章从整体架构入手,分析了飞行模式管理模块的启动过程、类继承关系以及核心运行机制。重点阐述了模块从rc.mc_apps启动脚本到FlightModeManager::main()的调用链路,包括任务创建、工作队列初始化和主循环执行流程。核心部分解释了Run()函数如何通过订阅传感器数据、更新参数、处理命令以及生成轨迹设定点来实现飞行模式切换和任务管理功能。文章为理解PX4飞行控制系统的模式切换机制提供了代码层面的详细分析。

陌城烟雨 499

jieba分词

jieba

sikh_0529的博客 1万+

uvalive 5902(BIT)

题意:有n本书叠放,编号从上到下是1到n,每次操作是先输出编号是i这本书的上面有几本书,然后把这本书抽出来放到顶上。 题解:位置数组pos[i]记录编号i的书的位置,树状数组Sun(C[i])统计位置i以下有多少本书,因为树状数组更新节点是往右走,所有对于节点i,右边节点应该表示节点i上面的书,所以位置数组要逆序,每次把书取出来前先把右边的节点更新,然后当前的书要放到最后一个节点的后面,后面节点还

俯瞰风景 615

YOLO 系列专栏(二十九)YOLO26 × StarNet 轻量化涨点方案(CVPR 2024)轻量化、主干改进篇 | 星星卷积虽小,却蕴藏着巨大的高效潜力

StarNet 出自 CVPR 2024 轻量化主干网络工作,核心创新是,依靠逐元素乘法实现高阶特征融合,在几乎不增加参数量与 FLOPs 的前提下,大幅提升特征表达能力,天然适合等多任务统一建模。本文将 StarNet 完整替换 YOLO26 原有主干,保留 YOLO26 无 NMS 检测头与轻量化结构,实现,并提供。

qq_36130719的博客 410

UVALive - 5902 Movie collection

题意:1~n按从上到下排列,m次询问,每次问x之前的有多少个数字,并且将x放到队首 思路:树状数组,首先将1~n下标向后移m位,每次询问后都将一个数字移到队首,每次 都更新了节点的大小,并且问到了前缀和,所以用树状数组 #include #include #include #include using namespace std; const int MAXN = 201010;

那些年 1141

蓝牙模块HM-10手册

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

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

POJ 1990 MooFest(想法题&树状数组)

MooFest http://poj.org/problem?id=1990 Time Limit: 1000MS Memory Limit: 30000K Description Every year, Farmer John's N (1 <= N <= 20,000) cows attend "MooFest",a social gathering of cows fr

AC,∑ndless 2463

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

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

LightOJ 1085 All Possible Increasing Subsequences (DP&离散化&树状数组)

http://lightoj.com/volume_showproblem.php?problem=1085 先说个很快的方法——二维思考,从右下往左上离散化: /*0.364s,2860KB*/ #include using namespace std; const int mx = 100005; const int mod = 1000000007; int tree[m

AC,∑ndless 1744

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

POJ 3067 Japan(树状数组求逆序对)

Japan http://poj.org/problem?id=3067 Time Limit: 1000MS Memory Limit: 65536K Description Japan plans to welcome the ACM ICPC World Finals and a lot of roads must b

AC,∑ndless 1536

树状数组、线段树模板(一)——单点更新 + HDU 1166 敌兵布阵

http://acm.hdu.edu.cn/showproblem.php?pid=1166 此题考查RSQ(Range Sum Query)。 模板如下: /*343ms,744KB*/ /* 我们使用如下缩写: root--整棵树的根节点 rt--当前区间的根节点 l,r--区间左右端点 m--区间的二等分点,注意m是落在左子区间的(右端点) lson,rson-

AC,∑ndless 1208

Beijing 2008 / UVa 1428 / POJ 3928 / HDU 2492 Ping pong (树状数组)

Ping pong http://poj.org/problem?id=3928;http://acm.hdu.edu.cn/showproblem.php?pid=2492 Time Limit: 1000MS Memory Limit: 65536K Description N(3<=N<=20000) ping pong players

AC,∑ndless 1144

POJ 1195 Mobile phones(二维树状数组)

Mobile phones http://poj.org/problem?id=1195 Time Limit: 5000MS Memory Limit: 65536K Description Suppose that the fourth generation mobile phone base stations in the Tampere area operat

AC,∑ndless 1094

UVa 12086 Potentiometers (树状数组&点修改)

http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=502&page=show_problem&problem=3238 更新语句改为update(x, y - query(x, x));即可。 /*0.259s*/ const int mx = 200005; int N, tr

AC,∑ndless 1059

深挖C++:类和对象(中)

(先进后出)

xys_678的博客 239

选型笔记:Type‑C 扩展坞方案评估|DP1.4 转 HDMI2.0 桥接芯片 GSV2201S@ACP

本文记录 GSV2201S 这款 DP1.4a 转 HDMI2.0 桥接芯片评估,梳理视频、HDCP、PD 集成能力,总结 Type‑C 转接 Dongle、扩展坞方案的适配边界,以及差分走线、PD 时序、HDCP 握手等高频调试问题,为 C 口视频转接方案选型提供参考。

ACP广源盛的博客 221

C++移动构造函数详解

移动构造函数是C++11引入的一种特殊构造函数,用于从临时对象(右值)"窃取"资源来初始化新对象,而不是进行昂贵的深拷贝。char* data;public:// 移动构造函数:参数是右值引用 &&// 关键:把源对象的资源置空。

拒绝AI文,努力在AI时代写出感动人心的好文章 391

ThunderKittens 深度解析:一个不基于 MLIR 的 C++ 模板 GPU DSL

Triton 是"让更多人能写 GPU kernel",ThunderKittens 是"让会写的人写得更爽"。前者用 MLIR 换易用性,后者用 C++ 模板换可控性。它们不是替代关系,而是覆盖了 GPU 编程光谱的两端。ThunderKittens 的出现,本质上是对"GPU DSL 必须基于 MLIR"这一默认假设的挑战。编译期类型系统本身就可以是一个强大的 DSL 基础设施,不需要中间 IR,不需要黑盒 pass,也能实现 tile 级抽象和零运行时开销。

Maxwell_Newton的博客 336

【C语言】字符与字符串函数

C语言中字符串为以\0结尾的字符数组,标准库函数基于此约定。本文解析字符串内存布局,详解ctype.h与string.h中字符分类、长度计算、拷贝、比较等函数的使用要点,强调长度判断与越界风险,最后通过命令行待办事项示例整合fgets、sscanf、strncpy、strcmp,展示实际应用中的关键细节。

记录在学习过程中学到的知识 343
上一篇: Codeforces Round #198 (Div. 2) / 340A The Wall (数论)
下一篇: Codeforces Round #147 (Div. 2) / 237A Free Cash (模拟)
synapse7
博客等级 码龄14年 432粉丝 701原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值