poj2828 Buy Tickets

Unity3d实现红外热成像效果 1.将需要在红外图像中高亮的物体设置到图层PostProcessing。 2.新建一个相机CameraHighLight,设置其Culling Mask为PostProcessing,也就是在这个相机中只有PostProcessing图层的物体可见。 3.新建一个RenderTexture,命名为HightLightRt,将CameraHighLight的Target Texture设HightLightRt。 4.新建一个相机Camera2,这个相机用于显示其他物体。 接下来将CameraHigh 阅读详情

先将位置信息存入数组p,然后倒序插入线段树中,然后根据线段树区间空位的信息将v插入ans数组中合适的位置。利用了倒序插入时第i个元素最终在ans中的位置为插入时从ans左往右第i+1个空位处的这个规律。线段树的作用不是存储最后的v,而是为v插入ans中的合适位置提供标准。将查找合适位置的复杂度降到O(logn)


在插入线段树时的标准是,区间左右孩子节点所剩的空位数。


#include <cstdio>
#include <string>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <algorithm>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <vector>
#include <ctype.h>
#define lson l, m, rt << 1
#define rson m + 1, r, rt << 1 | 1

using namespace std;

const int maxn = 200010;
int tree[maxn << 2];
int p[maxn], v[maxn], ans[maxn];

void PushUP(int rt) {
    tree[rt] = tree[rt << 1] + tree[rt << 1 | 1];
}

void build(int l, int r, int rt) {
    if (l == r) {
        tree[rt] = 1;    ///开始的时候初始化每个节点存储量为1
        return ;
    }
    int m = (l + r) >> 1;
    build(lson);
    build(rson);
    PushUP(rt);
}

void update(int p, int v, int l, int r, int rt) {
    if (l == r) {
        ans[l] = v;     ///根据线段树找到了v在ans中的合适位置,插入
        tree[rt] = 0;   ///此时v占了这个点的位置,将这个叶节点的容量置0
        return ;
    }
    int m = (l + r) >> 1;
    if (p <= tree[rt << 1]) update(p, v, lson);   ///此时若左子树的空位足够多,则递归插入左子树
    else update(p - tree[rt << 1], v, rson);    ///否则,算上左子树的空位,将剩下的空位利用右子树进行递归插入
    PushUP(rt);
}

int main()
{
    int N;
    while(~scanf("%d", &N)) {
        build(1, N, 1);
        for (int i = 1; i <= N; i++) {
            scanf("%d%d", &p[i], &v[i]);
        }
        for (int i = N; i >= 1; i--) {
            update(p[i] + 1, v[i], 1, N, 1);   ///此处倒序进行插入,原因是便于确定最后节点的位置
        }
        for (int i = 1; i <= N - 1; i++) {
            printf("%d ", ans[i]);
        }
        printf("%d\n", ans[N]);
    }
    return 0;
}


[知识图谱构建] 一.Neo4j图数据库安装初识及药材供应图谱实例 2012年5月,谷歌公司的知识图谱(Knowledge Graph)产品被正式提出,其旨在将人、地点、物等信息作为实体,将实体间的联系作为关系,并将实体和关系以图的形式进行存储。作为语义网的最新产物,知识图谱这种新型的搜索引擎改变了传统的文本搜索结果,而随后国内公司也开发出了相应产品,例如百度公司的“知心”和搜狗公司的“知立方”等。知识图谱本质上属于一种语义网。知识图谱中的每一条数据或事实一般会采用 &amp;lt;实体,属性,属性值&amp;gt; &amp;lt;实体, 关系, 阅读详情

相关推荐

【保姆级教程/代码】GNSS反演大气可降水量(Precipitable Water Vapor, PWV)

GPS精密单点定位(PPP)是一种采用精密卫星星历和卫星钟差进行非差单点定位的方法,在观测过程中采用双频载波相位观测法以确保高精度定位精度。本文利用PPP技术来求解天顶对流层延迟(zenith tropospheric delay,ZTD)。ZTD由湿延迟(ZWD)和干延迟(ZHD)组成,其中占比90%的ZHD与地面测站高程、大气压和测站纬度等参数有良好的相关性,可以通过Saastamoinen模型精确求出;

weixin_43910227的博客 2922

Buy Tickets POJ - 2828

Buy Tickets POJ - 2828 Railway tickets were difficult to buy around the Lunar New Year in China, so we must get up early and join a long queue… The Lunar New Year was approaching, but unluckily th...

Willen_的博客 387

从零开始:使用COLMAP与OpenMVS构建高精度三维Mesh模型

本文为零基础新手提供了使用COLMAP与OpenMVS构建高精度三维Mesh模型的完整实战指南。详细介绍了从环境配置、数据采集黄金法则,到COLMAP稀疏与稠密重建、OpenMVS网格生成与纹理映射的每一步操作,并分享了关键的避坑技巧与参数调优建议,帮助读者从二维照片中成功重建出属于自己的三维模型。

metal的博客 504

poj2828Buy Tickets

链接:http://poj.org/problem?id=2828 题意:给定n个人的信息依次插入队列,pos[i]第i个人插入到pos[i]的位置,val[i]为第i个人的价值。输出插入所有人之后的价值序列。 分析:因为是像插队一样插入队列中,那么越后面的人优先级越高,那么我们就倒着从最后一个人插入,这样的话我们插入位置后就不需要变动了,每次只要找当前这个人插入的位置为第pos[i]个空位即

Fsss 474

QMT与聚宽策略代码对接实战:Redis信号传递与xtquant交易实现

本文详细介绍了如何将聚宽策略代码与本地QMT终端进行高效对接的实战方案。通过利用Redis Stream构建可靠信号通道,解决了云端信号到本地执行的延迟与丢失问题,并结合xtquant库实现自动化交易执行。文章重点阐述了信号封装、资金映射、异步下单、风控检查及独立资金管理等核心环节,为量化交易者搭建自主可控的实盘系统提供了完整路径。

lilh34434的博客 473

cst-python联合仿真的问题解决

cst与python联合仿真出现无法调用CST的问题解决

ayihu_的博客 2370

poj 2828 Buy Tickets

题目链接:http://poj.org/problem?id=2828 这个题目主要是考虑从后往前填,这样就方便操作了。 其中peo[rt]表示以rt为根的左右子树中总共存在的空位数,其实每个元素的pos[i]就可以表示前面有pos[i]个空位,这样就可以进行插入了。 代码

凌风 1236

【VS2017】“LNK1104 cannot open file ‘python39_d.lib‘ “

记录一下编译调用了python代码的C语言源程序时遇到的问题 版本:以python3.9.1为例 先确保你安装了python的debug版本,如果没有,用对应版本安装包可以修改已经安装的python,如图。 选择 “Modify” 选择next 确保最后一项勾选,然后install。 光安装了还不够,需要配置一下C语言编译器。 以VS2017为例: 将python37_d.lib(在安装目录下的libs文件夹里有python39_d.lib)所在文件夹的路径添加到库目录里面,右键你的解决方案,选.

m0_46296905的博客 6474

POJ-2828 Buy Tickets

Buy Tickets Time Limit: 4000MS   Memory Limit: 65536K       Description Railway tickets were difficult to buy around the Lunar New Year in China, so we must get up early

JSure的代码库 1266

matlab/simulink saw谐振器仿真,基于Matlab的SAW模态耦合模型的仿真研究

第32卷 第 4 期Vol. 32 No. 4重 庆 理 工 大 学 学 报 (自然科学)Journal of Chongqing University of Technology( Natural Science)2 0 1 8年 4 月Apr. 2018doi : 10.3969/j . issn. 1674-8425(z). 2018.04.002本文引用格式 :李志鹏,马龙祥,孟旭,等•基...

weixin_36192634的博客 1385

RK3568适配MIPI屏幕触摸,触摸延时很大

我用的是系统,接了一个,设备树已经正确配置,evtest测试坐标值和触摸位置都是准确的。但是出现了一个:我在屏幕上点一下,要等大约 2 秒才能在evtest里看到坐标事件打印。这种现象在 Goodix 系列触摸驱动里比较少见,一般意味着。

小灰灰的博客 1361

POJ 2828 Buy Tickets

题目链接:https://vjudge.net/problem/POJ-2828 题目大意:   插队买票,有 n 个人依次插队,一开始买票队列为空,每个插队的人有两个属性 (pos, val) ,pos 表示这个人插队插在了 pos 位置,val 代表这个人的 id,输出 n 个人插完队后形成的序列所对应的 id 序列。 分析:   以终为始,直接上例子,直观: 4 0 2...

weixin_30701575的博客 217

最新腾讯手游游戏appid列表及urlScheme一览 urlscheme查询

[全网独家] 2024最新腾讯游戏appid列表及urlScheme一览 手游包含王者荣耀QQ飞车我的世界PUBG吃鸡和平精英金铲铲之战三角洲行动QQ炫舞拳皇98OL欢乐斗地主 元梦之星使命召唤等

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 2万+

【POJ 2828】Buy Tickets

【题目链接】 http://poj.org/problem?id=2828 【算法】 离线用线段树维护序列即可 【代码】 #include <algorithm> #include <bitset> #include <cctype> #include...

106

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

[POJ2828]Buy Tickets

Railway tickets were difficult to buy around the Lunar New Year in China, so we must get up early and join a long queue… The Lunar New Year was approaching, but unluckily the Little Cat still had sche...

NephrenRuqInsania 354

IMSL CNL 7.0.0 (x86-64)Crack

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

poj2828-Buy Tickets

题目链接http://vjudge.net/problem/POJ-2828 解题思路 好吧。。。感觉跟Lost Cow那道题好像。。。 然后稀里糊涂地过了。。。3500+ms(时限4s(⊙﹏⊙)b) 线段树。。。单点 代码 #include<stdio.h> #include<string.h> #define MAX_SIZE...

anyi4391的博客 172

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

POJ 2828:Buy Tickets

点击打开题目链接 题目翻译: 就是往一个队列里面插队,给出一个数n,给出n 个 pos 和 value。将value插入到第pos个人的右侧,如果这个位置已经有人了,则 此人占据此位置,后面的人依次后挪一位。 解题思路:构建初始构建空的线段树,开辟sum数组,用来记录相应区间的空位个数。由于正着插如果某个位置上有人了,则后面 位置上的人要向右挪。这样去考虑题目很复杂,因此可以想着

温姑娘的博客 424

【POJ】2828 Buy Tickets 题解

题目大意 有nnn个人前来排队,第iii个人编号为val[i]val[i]val[i],来了之后会站在队伍中第p[i]p[i]p[i]个人后面,问最后的队伍是什么样子的。 题目链接 思路 我们注意到,每次有新来的人来插队,他只会影响到已经在队伍中的人的占位,而之前的人的占位不会影响后面的人的占位。 而对已经在队伍中的人做修改,时间复杂度较高,我们不妨反着考虑。从最后一个人开始,往前考虑。此时对于每个人的位置,我们只需要看有多少个人站在了它前面。 这样我们就从修改多个人的位置,变成了维护后来的人对前面的人的

hanserdaisuki的博客 615

POJ 2828 Buy Tickets 题意&题解&代码(c++)

线段树

曾经追梦的happy时光 1228

poj 2828 Buy Tickets 【线段树点更新】

题目:poj 2828 Buy Tickets 题意:有n个人排队,每个人有一个价值和要插的位置,然后当要插的位置上有人时所有的人向后移动一位当这个插入到这儿,如果没有直接插进去。 分析:分析发现直接插入移动的话花时间太多,我们可不可以用逆向思维。从后往前来,因为最后一个位置是肯定能确定的,而其他的则插入空的第某个位置。 比如第一组样例: 4 0 77 1 51 1 3

大神养成中..... 1086
上一篇: hdu5505 GT and numbers
下一篇: poj3278 Catch That Cow
Daemoonn
博客等级 码龄11年 42粉丝 198原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值