bzoj1503】的更多相关文章

http://www.lydsy.com/JudgeOnline/problem.php?id=1503 (题目链接) 题意 要求维护4种操作:插入一个数,将所有数加上k,将所有数减去k,删去数值小于k的数并计算个数. Solution splay.今天考试的时候询问时忘记下传标记了fuck dog 代码 // bzoj1503 #include<algorithm> #include<iostream> #include<cstdlib> #include<cs…
[BZOJ1503][NOI2004]郁闷的出纳员 试题描述 OIER公司是一家大型专业化软件公司,有着数以万计的员工.作为一名出纳员,我的任务之一便是统计每位员工的工资.这本来是一份不错的工作,但是令人郁闷的是,我们的老板反复无常,经常调整员工的工资.如果他心情好,就可能把每位员工的工资加上一个相同的量.反之,如果心情不好,就可能把他们的工资扣除一个相同的量.我真不知道除了调工资他还做什么其它事情.工资的频繁调整很让员工反感,尤其是集体扣除工资的时候,一旦某位员工发现自己的工资已经低于了合同规…
做了一道水题,把bzoj1503用Splay重新写了一下. #include <bits/stdc++.h> #define rep(i, a, b) for (int i = a; i <= b; i++) #define REP(i, a, b) for (int i = a; i < b; i++) #define drep(i, a, b) for (int i = a; i >= b; i--) #define mp make_pair #define pb pus…
原文链接http://www.cnblogs.com/zhouzhendong/p/8086240.html 题目传送门 - BZOJ1503 题意概括 如果某一个员工的工资低于了min,那么,他会立即离开,并且一定不会回来了. 最后还要输出一个整数,表示离开公司的员工的总数. 题解 还是splay裸题. 加一个懒标记就可以了. 注意,如果一个人还没有进入公司就因为工资太少而走了,不计入离开公司的员工数中 代码 #include <cstring> #include <cstdio>…
bzoj1503,懒得复制,戳我戳我 Solution: 我知不知道我是那根筋抽了突然来做splay,调了起码\(3h+\),到第二天才改出来(我好菜啊),当做训练调错吧 一个裸的splay,没啥好说的 Attention: 我的del操作里面,注意连边要把儿子的父亲更改,父亲的儿子更改,并且注意\(update\) void del(int x){ ins(x); int now=root; if(ls(now))ans+=node[ls(now)].siz; if(node[now].cnt…
好痛苦,,,WA了不知道多少遍 错的服了,,, 如果某员工的初始工资低于工资下界,他将立刻离开公司 我也不知道是我语文有问题还是题目有毒,反正这个东西好像不应该算在离开公司的总人数的答案里... 让我一个人静静.... #include <cstdio> using namespace std; ][],father[],size[],val[],cnt[],n,i,now,min,x,y,rt,top,ans,m; ]; void newnode(int &x,int fa,int…
结论题...网上讲的好的很多... #include <iostream> using namespace std; ]={,,,,,,,,,},num=; long long ans,n; void dfs(int x,int y,long long z) { ;} if (y==num) ans=min(ans,z); ) return; ;z<=n;z*=p[x],++i) dfs(x+,y*(i+),z); } int main() { cin>>n; dfs(,,)…
treap改了好长时间,erase写错了... #include<iostream> #include<cstdio> #include<cstdlib> using namespace std; <<; int n,mn,root,delta,tot,leave; ],cnt[],size[],p[]; ][]; void update(int x) { size[x]=size[child[x][]]+size[child[x][]]+cnt[x]; }…
1.题目大意:一道treap题,支持插入,询问第K大,还有全体修改+上一个值,如果某个点值小于x,那么就删除这个点 插入100000次,询问100000次,修改100次..最后输出删了多少个点 2.分析:首先看修改是100次的,我就没有多想什么lazy,什么的 就是名次树,修改的话,我们就遍历treap,全部修改我们就O(n)搞一下 最后说一个坑爹的地方,就是插入前就否认的点不算T_T #include <cstdio> #include <cstdlib> #include &l…
splay模板题,都快把我做忧郁了. 由于自己调两个坑点. 1.删除时及时updata 2.Kth 考虑k满足该点的条件即r->ch[1]->size+1<=k && r->ch[1]->size+r->num>=k #include <iostream> #include <cstdio> #include <cstring> using namespace std; struct SplayNode { Sp…