数据结构
Loi_MeiCo
弱鸡选手
展开
-
POJ 2828 Buy Tickets 线段树 单点修改记录状态
tyvj上清北学堂入学测试引用的一道题 本来看到插队以为是队列2333 各种被坑QAQ 最后在各路大神的调教下用线段树解决QwQ 题目大意: 多组数据,给出几个人插队的要求和他们的权值 ,求最后队伍的排列情况,分组输出。 样例输入 4 0 77 1 51 1 33 2 69 4 0 20523 1原创 2016-09-26 18:52:37 · 482 阅读 · 0 评论 -
【模板】线段树
线段树 处理区间问题的高级数据结构 听说树状数组能做(树状数组我不会啊QAQ )的线段树都能做,就丢个线段树吧QAQ 快NOIP了还是好弱怎么办 急在线等 NOIP Loiers RP ++!!void up(int p)//更新数据{ tree[p].sum = tree[p<<1].sum + tree[p<<1|1].sum; tree[p].max = max(tre原创 2016-11-15 21:35:45 · 532 阅读 · 0 评论 -
【模板】栈和队列
//栈 int st[] ;void push(int x) { st[tp++] = x;}void pop() { --tp;}int top() { return st[tp-1];}//队列void push(int x) { q[tail++] = x;}void pop() { ++head;}int原创 2016-11-15 16:49:05 · 627 阅读 · 0 评论 -
CODE[VS] 3304 水果姐逛水果街I(线段树求区间最大最小值)
题目描述 Description 水果姐今天心情不错,来到了水果街。 水果街有n家水果店,呈直线结构,编号为1~n,每家店能买水果也能卖水果,并且同一家店卖与买的价格一样。 学过oi的水果姐迅速发现了一个赚钱的方法:在某家水果店买一个水果,再到另外一家店卖出去,赚差价。 就在水果姐窃喜的时候,cgh突然出现,他为了为难水果姐,给出m个问题,每个问题要求水果姐从第x家店出发到第原创 2016-11-13 15:39:35 · 535 阅读 · 1 评论 -
【NOIP2012】 CODE[VS] 1217 借教室(线段树维护区间最小值)
题目描述 Description 在大学期间,经常需要租借教室。大到院系举办活动,小到学习小组自习讨论,都需要 向学校申请借教室。教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样。 面对海量租借教室的信息,我们自然希望编程解决这个问题。 我们需要处理接下来n天的借教室信息,其中第i天学校有ri个教室可供租借。共有m份 订单,每份订单用三个正整数描述,分别为d原创 2016-11-13 16:10:53 · 770 阅读 · 1 评论 -
【POJ 2823】Sliding Window 双(单)端(调)队列 学习笔记~~~
首先来说明一下为什么双端队列是单调的呢??因为我们再利用双端队列的时候,将满足一个条件的元素不断向后插入,满足另一个条件的元素向前插入。这样我们在更新一些元素的时候,这有满足某种条件,保证后面队列的情况一定是从前面的状态更新过来而且一定会比前面的那个状态更满足条件,这样。我们就保证了双端队列的单调性。我们利用单调队列,可以来维护一个区间的最值。 该怎样维护呢????我们以 POJ 2823为例:原创 2016-10-31 20:10:28 · 637 阅读 · 0 评论 -
【模板】并查集
并查集 顾名思义:合并 查询 集合 用于处理一些不相交集合的合并及查询问题#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int n,m,fa[10010];int find(int x){ return fa[x] == x ? x : fa[原创 2016-11-11 21:18:55 · 534 阅读 · 0 评论 -
【NOIP2002】字串变换 CODE[VS] 1039
已知有两个字串 A,B, B 及一组字串变换的规则(至多6个规则): A1−>B1 -> B1 A2−>B2 -> B2 规则的含义为:在 A$中的子串 A1可以变换为B1 可以变换为 B1、A2可以变换为B2 可以变换为 B2 …。 例如:A=′abcd′B='abcd' B=’xyz’ 变换规则为: ‘abc’->‘xu’ ‘u原创 2016-10-14 20:01:10 · 554 阅读 · 0 评论 -
【NOIP2015】信息传递 CODE[VS] 4511
题目描述 Description 有个同学(编号为 1 到)正在玩一个信息传递的游戏。在游戏里每人都有一个固定的信息传递对象,其中,编号为的同学的信息传递对象是编号为的同学。游戏开始时,每人都只知道自己的生日。之后每一轮中,所有人会同时将自己当前所知的生日信息告诉各自的信息传递对象(注意:可能有人可以从若干人那里获取信息,但是每人只会把信息告诉一个人,即自己的信息传递对象)。当有人从别人口中得原创 2016-10-14 19:30:22 · 698 阅读 · 0 评论 -
2016.10.11 队内胡策模拟
T1 高精+-* 数据有误 期望100 实际80 T2是二分答案 一直在推怎样二分 没做出来 浪费太多时间 导致T3 T4没有码完 T3最短路+最小生成树+图内加边 注意在两个数组里分别存图和树的值 T4线段树区间修改 区间查询 正解并查集 代码很短而且跑的飞起T1: 输入数据 只有一行,第一个参数是一个字符, 加号代表要做加法运算, 减号代表要做减法运算, 星号代表乘法运算原创 2016-10-12 11:23:18 · 601 阅读 · 0 评论 -
【bzoj1821】[JSOI2010]Group 部落划分
题目描述聪聪研究发现,荒岛野人总是过着群居的生活,但是,并不是整个荒岛上的所有野人都属于同一个部落,野人们总是拉帮结派形成属于自己的部落,不同的部落之间则经常发生争斗。只是,这一切都成为谜团了——聪聪根本就不知道部落究竟是如何分布的。 不过好消息是,聪聪得到了一份荒岛的地图。地图上标注了N个野人居住的地点(可以看作是平面上的坐标)。我们知道,同一个部落的野人总是生活在附近。我们把两个部落的距离,定义原创 2017-10-24 19:07:11 · 422 阅读 · 0 评论