
STL
SC.ldxcaicai
我很菜=_=
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
2018.10.01 NOIP模拟 购买书籍(贪心+STL)
描述L的书籍被M偷了以后伤心欲绝,决定再购买一些回来,现在有 N 本书可以买,每本书的价格是 a[i]元。现在L总共有 M 元,以及 K 张优惠券。 对于每本书,如果使用一张优惠券,则可以用b[i]的优惠价格购买。 注意每本书只能使用一张优惠券,只能购买一次。L想知道自己最多可以购买几本书?输入第一行三个整数 N, K, M接下来 N 行,每行两个整数,表示 a[i]和 b [i]。...原创 2018-10-11 23:38:42 · 398 阅读 · 0 评论 -
bzoj3595: [Scoi2014]方伯伯的Oj(splay+map+set)
传送门题意简述:给一个有优先级的nnn个人的序列,初始的时候第iii个人排名为iii,现在有mmm个操作,种类如下:把编号为xxx的改成yyy,输出改前xxx的排名把编号为xxx放到队首,输出改前xxx的排名把编号为xxx放到队尾,输出改前xxx的排名输出排名为xxx的编号。强制在线,n≤1e8,m≤1e5n\le1e8,m\le1e5n≤1e8,m≤1e5思路:本蒟蒻的第...原创 2019-03-28 21:29:01 · 153 阅读 · 0 评论 -
NOIP训练 匹配(match)(贪心)
题意简述:思路:直接考虑把人和物品都看成二维平面上面的a,ba,ba,b两类点,然后一个aaa和bbb匹配的条件是xa≤xb&&ya≤ybx_a\le x_b\&\&y_a\le y_bxa≤xb&&ya≤yb,要求最后选出的bbb的横坐标之和最小。这样的话,我们把a,ba,ba,b两类点分别按照xxx...原创 2019-03-25 16:45:24 · 239 阅读 · 0 评论 -
bzoj2300: [HAOI2011]防线修建(set+凸包)
传送门题意:动态维护凸包周长。思路:见这篇求面积的吧反正都是一个套路。代码:#include<bits/stdc++.h>#define int long long#define ri register intusing namespace std;inline int read(){ int ans=0; bool f=1; char ch...原创 2019-02-21 21:57:07 · 222 阅读 · 0 评论 -
bzoj1249: SGU277 HERO 动态凸包(set+凸包)
传送门题意:动态插入点,维护凸包面积。思路:用setsetset维护极角序来支持面积查询即可。然后注意选原点的时候要从初始三个点随机平均系数来避免精度误差。代码:#include<bits/stdc++.h>#define ri register llusing namespace std;typedef long long ll;inline ll read(){...原创 2019-02-21 21:49:43 · 597 阅读 · 0 评论 -
codeforces 948C. Producing Snow(堆)
传送门维护一个堆。每次先算出一个都不弹掉的总贡献。然后把要弹掉的弹掉,并减去它们对应的贡献。代码:#include<bits/stdc++.h>#define ri register intusing namespace std;typedef long long ll;inline ll read(){ ll ans=0; char ch=getchar();...原创 2018-12-05 12:19:21 · 269 阅读 · 0 评论 -
2018.11.09 洛谷P1110 [ZJOI2007]报表统计(multiset)
传送门sb题。直接用两个multisetmultisetmultiset维护相邻两个数的差值和所有数的前驱后继。插入一个数的时候更新一下就行了。代码:#include&lt;bits/stdc++.h&gt;using namespace std;inline int read(){ int ans=0,w=1; char ch=getchar(); whil...原创 2018-11-09 21:31:06 · 336 阅读 · 0 评论 -
2018.11.09 codeforces487E. Tourists(tarjan+树链剖分)
传送门先把边双连通分量用圆方树一样的方法缩点,然后把新建的树树剖维护。注意对于边双连通分量需要维护动态最小值,可以用multisetmultisetmultiset。代码:#include<bits/stdc++.h>#define lc (p<<1)#define rc (p<<1|1)#define mid (T[p].l+T[p].r>...原创 2018-11-09 21:27:39 · 1628 阅读 · 0 评论 -
2018.10.09 NOIP模拟 世界杯(图论+set优化)
传送门貌似是防akakak题?不是很清楚。事实上如果两个人没有严格的大小关系,我们给他们两个连一条边。这样可以构成很多连通块。而且对于连通块a,ba,ba,b,aia_iai和bjb_jbj都有严格的大小关系。于是每一组询问我们都求出所有的连通块,然后属性最强的连通块里元素个数就是答案。但直接做是O(n2)O(n^2)O(n2)的。继续观察会发现我们每次加入点如果可以合并连通块...原创 2018-10-11 23:50:40 · 280 阅读 · 0 评论 -
2018.10.08 NOIP模拟 斐波那契(贪心+hash/map)
1.1 description斐波那契数列又称兔子数列,可以通过以下方式产生:一开始只有一只兔子,一个月之后这只兔子每个月会繁殖出另一只兔子。之后每只兔子出生后都按照以上规则繁殖。我们把每个月的兔子的数量作为数列中的数就可以得到斐波那契数列。现在草原上有 n 只兔子排成一排,每只兔子有一个繁殖能力 ai。小 F 想把这些兔子分组,要求一个组内的兔子必须是连续的一段。而且因为兔子们不太喜欢兔子数...原创 2018-10-11 23:47:24 · 221 阅读 · 0 评论 -
2018.10.14 loj#516. DP 一般看规律(启发式合并)
传送门注意到一种颜色改了之后就不能改回去了。因此可以启发式合并。每次把小的合并给大的。这样每个数最多被合并logloglog次。如果维护一棵比较下标的平衡树的话,对于答案有贡献的就是每个数与前驱和后继的差值。于是就用setsetset实现啦。代码:#include<bits/stdc++.h>#define N 100005using namespace std;...原创 2018-10-14 21:20:10 · 208 阅读 · 0 评论 -
2018.10.04 推销员(贪心+set)
描述阿明是一名推销员,他奉命到螺丝街推销他们公司的产品。螺丝街是一条死胡同,出口与入口是同一个,街道的一侧是围墙,另一侧是住户。螺丝街一共有N家住户,第i家住户到入口的距离为Si米。由于同一栋房子里可以有多家住户,所以可能有多家住户与入口的距离相等。阿明会从入口进入,依次向螺丝街的X家住户推销产品,然后再原路走出去。阿明每走1米就会积累1点疲劳值,向第i家住户推销产品会积累Ai点疲劳值。阿明是...原创 2018-10-04 23:47:28 · 158 阅读 · 0 评论 -
2018.10.03 决斗(dp+set)
描述50年代的蓝星并不宁静兔酱:鹰酱!去死吧!麦跑跑:打不过,我跑吧。李轰轰:兔兔,你们是打不过我的磁链战术的!秃子:经儿啊,社稷只能留在你手中了。七绝•试仿陆放翁《示儿》1958年12月21日人类今娴上太空,但悲不见五洲同。愚公尽扫餮蚊日,公祭无忘告马翁。兔兔和李轰轰最后的一战:阵前来者可是兔酱?正是在下。“李轰轰又来叫阵了!,欺我种花家无人吗?”何人敢应战?...原创 2018-10-03 23:35:09 · 276 阅读 · 0 评论 -
2018.09.26 洛谷P2464 [SDOI2008]郁闷的小J(map+vector)
传送门本来出题人出出来想考数据结构的。但是我们拥有map+vector/set这样优秀的STL,因此直接用map离散化,vector存下标在里面二分找答案就行了。代码:#include<bits/stdc++.h>#define N 100005using namespace std;inline int read(){ int ans=0; char ch=getc...原创 2018-09-26 13:54:12 · 146 阅读 · 0 评论 -
bzoj4453: cys就是要拿英魂!(后缀数组+单调栈+set)
传送门stOstOstO 神题 OrzOrzOrz题意:给定一个串S,有Q个询问,每次问一个区间内字典序最大的子串。|S|,Q<=10^5,可以离线!大佬的题解:代码:#include<bits/stdc++.h>#define ri register int#define fi first#define se secondusing namespace ...原创 2019-07-13 22:58:03 · 245 阅读 · 0 评论