stl
文章平均质量分 52
Clove_unique
All that you have lost can be won back bit by bit as long as you wish for it.
展开
-
[BZOJbegin][NOIP十连测第一场]Tourist Attractions(图的度+bitset)
题目描述 题解时间复杂度算错了+爆int了,然后就只有可悲的40分。 40’:直接暴力枚举4个点。O(n4)O(n^4) 70’: ①暴力枚举三个点,然后判断第三个点是否和第一个点连有一条边(用邻接矩阵就可以),然后加上第三个点的度数-1或-2; ②对于一条路径a-b-c-d,枚举边b-c,然后答案答案即为(du[a]-1)*(du[b]-1)-经过b和c的三元环个数,经过b原创 2016-11-16 19:09:17 · 745 阅读 · 0 评论 -
[BZOJ1178][Apio2009]CONVENTION会议中心(单调栈+dp+set)
题目描述传送门题目大意:有一些线段,两两之间不能相交,求:最短选出多少条线段;输出所有可选的方案中字典序最小的。题解这题并没有做出来。。。这道题的关键在于一个性质:令get_ans(l,r)表示在区间[l,r]内最多能选出多少条合法的线段,那么如果现在要判断线段[l0,r0]是否能加入,就是要判断是否get_ans(l,r)=get_ans(l,l0-1)+get_ans(r0+1,r)+1,其中l原创 2017-04-27 16:27:12 · 1160 阅读 · 0 评论 -
[BZOJ4336][BJOI2015]骑士的旅行(树链剖分+线段树+multiset+归并)
题目描述传送门题目大意:n个点的一棵树,有m个骑士,每个骑士居住在n个点中的一个,有一个武力值fi,有三种操作: 1 x y 询问居住在树链x-y上前k大的骑士的武力值 2 x y 编号为x的骑士居住地改为y 3 x y 编号为x的骑士武力值改为y题解k比较小 树链剖分,对线段树中的底层节点维护一个multiset,维护所有居住在这个点的骑士的武力值,然后线段树中的每一个点开一个结构体原创 2017-05-06 22:04:36 · 1382 阅读 · 0 评论 -
CF#403(Div.2) 解题报告
A题意简述有2n双袜子,编号为1..n。 按顺序从包中拿出,如果这只袜子的另一只还没有拿出,就放在桌子上,否则将桌子上的另一只拿走。 求桌子上最多有多少只袜子。数据范围1≤n≤1051\le n\le 10^5题解模拟。。代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdlib>#include<cs原创 2017-03-06 11:19:08 · 1425 阅读 · 4 评论 -
[BZOJ3544][ONTAK2010]Creative Accounting(数学相关+set)
题目描述传送门题解一段区间的sigma可以转化为前缀和相减 而如果将前缀和都取模m意义下那么所有的都变成了1..m-1中的一个数 那么如果当前的前缀和为x,如何查询x-?的最大值如果之前的前缀和有比x大的数y,那么答案一定为(x-y)%m 否则为x%m x-y<0 -> (x-y)%m=m-(y-x) y<=m -> m-(y-x)>=x 所以实际上就是查询一下是否有比x大的数那我们拿t原创 2017-03-16 23:47:06 · 571 阅读 · 0 评论 -
[BZOJ4419][Shoi2013]发微博(map)
题目描述传送门题解用stl水水 对于每一个人记录发了几条微博,维护一个朋友圈,朋友圈里的每一个人有一个权,维护保证权+记录=这个人作为他的朋友的时候看到他发了几条微博 删除+最后 统计答案就行了代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>#include<m原创 2017-03-16 21:50:18 · 606 阅读 · 0 评论 -
[BZOJ2816][ZJOI2012]网络(lct+map)
题目描述题目描述 Description有一个无向图G,每个点有个权值,每条边有一个颜色。这个无向图满足以下两个条件: 1. 对于任意节点连出去的边中,相同颜色的边不超过两条。 2. 图中不存在同色的环,同色的环指相同颜色的边构成的环。 在这个图上,你要支持以下三种操作: 0. 修改一个节点的权值。 1. 修改一条边的颜色。 2. 查询由颜色c的边构成的图中,所有可能在节点u到节点v之间原创 2017-04-01 16:49:23 · 533 阅读 · 0 评论 -
[BZOJ3991][SDOI2015]寻宝游戏(dfs序+lca+set)
题目描述传送门题解答案其实就是将所有的点按照dfs序排序然后相邻求lca以及长度加和 奥还有第一个和最后一个求lca以及长度加和 用set维护一下。。。代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>#include<set>using namespace s原创 2017-03-12 21:55:34 · 727 阅读 · 0 评论 -
[BZOJ1604][Usaco2008 Open]Cow Neighborhoods 奶牛的邻居(multiset+并查集)
题目描述传送门题解刚开始想的是每一次只查询某一个点左下角离他最近的点,做4遍 这应该是可做的,但是为了练习stl (偷懒)想用set做,结果发现并不可做 因为貌似set的lower_bound只适用于一个关键字后来得知了一种很强的方法 就是把一个点的坐标变成(x+y,x-y) 两个点的哈弗曼距离也就变成了两维的距离的max 按照一维排序了之后,维护multiset中的点在这一维的差不超过c原创 2017-03-17 21:59:06 · 577 阅读 · 0 评论 -
[Codeforces246E]Blood Cousins Return(dsu on the tree+set)
题目描述传送门 题意:一棵树,每一个点有一个颜色(字符串),每一次询问以某一个点为根的子树中与其距离为k的点有多少种颜色。题解dsu on the tree… 关键是这道题要统计每一个深度出现的颜色的个数,于是每一个深度挂一个set stl真tm省事。代码#include<algorithm>#include<iostream>#include<cstring>#include<cstd原创 2017-03-08 10:21:10 · 621 阅读 · 0 评论 -
[BZOJ3578]GTY的人类基因组计划2(hash+set)
题目描述传送门题解用一个set维护当前所有可以做实验的房间 对于每一坨人搞一个hash值(据说可以随机一些大整数,我用了一个S进制数胡搞) 然后用一个map记录一下每一个hash值是否出现过 当把一个人挪到另一个房间去的时候重新计算一下hash值,并维护set upper_bound找到大于它的最小的 lower_bound找到大于等于它的最小的代码#include<algorithm>原创 2017-03-17 14:47:12 · 1040 阅读 · 0 评论 -
[BZOJ2882]工艺(后缀自动机+stl||最小表示法)
题目描述传送门题解把串重复一遍然后建立后缀自动机 从头找一个最小的输出就行了 注意字符集非常大需要用map,然后可以用一个迭代器来找其实这道题正确的姿势应该是最小表示法 具体的可以看WC2003周源的课件代码#include<iostream>#include<cstring>#include<cstdio>#include<map>using namespace std;#defi原创 2017-01-01 11:33:00 · 806 阅读 · 0 评论 -
[BZOJ2751][HAOI2012]容易题(easy)(数学相关+stl)
题目描述传送门题解随便化化式子就知道答案应该是每一位能选的数的和的积 去重之后用map啥的记录一下就行了代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>#include<map>using namespace std;#define Mod 100000000原创 2017-03-01 11:34:11 · 571 阅读 · 0 评论 -
[CODEVS1553]互斥的数(stl)
题目描述传送门题解排序,然后互斥的数组成了一些不相交的链 用map记录一下找链就行了代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>#include<map>using namespace std;#define LL long long#define N原创 2017-02-20 14:12:42 · 596 阅读 · 0 评论 -
[BZOJ3687]简单题(dp+bitset优化)
题目描述传送门题解刚开始想的有问题,因为很多子集和可能为同一个数 f(i)表示和为i的子集一共有多少个,那么每加进一个数x,f(i+x)+=f(i) 这样的话时间是O((∑ai)2)'>O((∑ai)2)O((∑ai)2)O((\sum a_i)^2)的,考虑怎么优化 很显然最终的答案只与f的奇偶有关,那么让f(i)表示和为i的子集的个数%2的值 转移就变成了原创 2017-02-07 18:53:04 · 1125 阅读 · 2 评论