首页 > TAG信息列表 > 出纳员

950. 郁闷的出纳员

题目链接 950. 郁闷的出纳员 OIER 公司是一家大型专业化软件公司,有着数以万计的员工。 作为一名出纳员,我的任务之一便是统计每位员工的工资。 这本来是一份不错的工作,但是令人郁闷的是,我们的老板反复无常,经常调整员工的工资。 如果他心情好,就可能把每位员工的工资加上一个相同的量

P1486 [NOI2004] 郁闷的出纳员【Splay】

传送门 第一行有两个整数 n n n 和 min ⁡ \min min。

题解 NOI2004【郁闷的出纳员】

\[ Preface \] 之前用 treap 打,交了四遍才过。 自学了 fhq treap 后,才意识到是一道 fhq treap 板子题,直接码上,一遍就过。 本题解提供的是 fhq treap 做法(感谢 fhq 神犇),不太了解 fhq treap 的同学可以去了解一下 fhq treap ,挺好理解的。(至少要了解两种 split 和 merge 操作) \[ Desc

[NOI2004]郁闷的出纳员

FHQ-Treap水过... 这题确实可以通过增量的方法做...(然而我WA了) 后来一气之下写了一个大常数的直接每次操作Push_Down一下维护节点val和lazy_tag   Insert操作就是裸的操作 对于A S 操作我们就用打lazy_tag的方法维护一下节点权值,然后能下传的地方就下传,之后把小于min的点删掉(直

P1486 [NOI2004]郁闷的出纳员

题目链接 这道题需要动态插入,删除,求排名,看到这就想到了平衡树。由于本人只会splay,所以就用splay来做这道题,这道题插入和删除都是模板,但是题中还有一个比价坑的地方就是工资的调整。但我做不到在平衡树上修改点权。如果每一个都去插入和删除的复杂度显然非常高。看了题解发现,可以维

郁闷的出纳员

题目描述 思路 Treap树 + 延迟标记 代码 #include <cstdio> #include <cstring> #include <ctime> #include <cstdlib> const int MAX = 1e5 + 5; int n, m, rt, tot, pt; char str[5]; int ans, inf = 0x3f3f3f3f; struct Node { int lc, rc, cnt, size, pri

[BZOJ 1503]郁闷的出纳员(fhq treap)

[BZOJ 1503]郁闷的出纳员 题面 第一行有两个非负整数n和min。n表示下面有多少条命令,min表示工资下界。 接下来的n行,每行表示一条命令。命令可以是以下四种之一: 名称 格式 作用 I命令 I_k 新建一个工资档案,初始工资为k。如果某员工的初始工资低于工资下界,他将立刻离开公司。

日常:6.13训练日志

又颓了 我发誓是题目先动手的! 一道普通平衡树就调了两个小时……两个小时……我以为这已经是死亡调试了。 然而,郁闷的出纳员至今没有AC,已经半个下午加一个晚上了…… 啊啊啊 真的是Rorschach_XR巨佬个签说的,一杯茶,一包烟,一个破题调一天。 一个大写的难过。 明天还要继续努力。

NOI2004郁闷的出纳员

传送门 题目看起来玄乎,但其实只需要一点点小 trick 就可以了. 我们可以用一个全局的 delta 来维护工资的调整记录 对于每一个新加入的员工,先判断是否低于最低工资下限,如果是,直接踢出,不做任何操作,否则,将其插入 Treap 中,不过这时为了不对以后的查询产生影响,我们要插入的值时

[NOI2004]郁闷的出纳员

平衡树,裸题。 我们维护一下加法标记,然后剩下的就乱搞搞就好了。 这里使用了\(splay\)实现。 My Code: #include <bits/stdc++.h> #define il inline const int maxn = 1e5 + 10; const int inf = 0x3f3f3f3f; using namespace std; int n,m,i,j,k,root,add,tot,q,x,mn,padd,pnow;