
STL
clover_hxy
The secret oppotunities are hidden inside every failure....
展开
-
bzoj 2259: [Oibh]新型计算机 (最短路)
题目描述传送门题目大意:从前往后先读取第一个数字S1,然后顺序向后读入S1个数字。接着再读一个数字S2,顺序向后读入S2个数字……依此类推。只有所有的数恰好读完的序列才是合法的。 给出一个输入序列,可以对于序列中的任意一个数进行修改,使修改后的序列是合法序列。求操作的最小代价。设某个位置但是数是x,把他变成y的代价是abs(x-y)题解堆优化dijkstra求最短路。 这道题的关键是怎么建图。设原创 2017-03-17 15:10:19 · 767 阅读 · 0 评论 -
bzoj 4028: [HEOI2015]公约数数列 (分块乱搞+map)
题目描述传送门题目大意: 题解将数列分块,对于每个块维护块内的gcd前缀和xor前缀和,并用map维护出每个块内某一权值出现的位置。 所有的修改操作只会影响一个块,时间是n√logn\sqrt n \log n 对于查询操作,考虑到gcd最多变化log次,我们从前向后扫,lastgcd,lastxor表示到上一个块为止的gcd,xor前缀和。如果当前区间的gcd前缀和是lastgcd的倍数,那原创 2017-06-29 11:51:49 · 438 阅读 · 0 评论 -
bzoj 4810: [Ynoi2017]由乃的玉米田 (莫队+bitset)
题目描述传送门题目大意:给你一个序列a,长度为n,有m次操作,每次询问一个区间是否可以选出两个数它们的差为x,或者询问一个区间是 否可以选出两个数它们的和为x,或者询问一个区间是否可以选出两个数它们的乘积为x 题解刚开始想用线段树+bitset,但是发现会MLE。 所以就直接上莫队了。 对于a∗b=xa*b=x,我们可以对x进行O(n√)O(\sqrt n)因数分解,判断一下。 对于a−b=原创 2017-06-28 19:38:29 · 381 阅读 · 0 评论 -
bzoj 1029: [JSOI2007]建筑抢修 (贪心+优先队列)
题目描述传送门题目大意:修复每一个建筑都需要一定的时间,如果某一个建筑不能在某一个时刻前被修复就永不能被修复了,问最多能修复多少个建筑题解贪心 按照结束时间从左到右排序,每次加入一个任务如果能加入就直接加入并把该任务的时间加入大根堆,如果不能就对比当前任务的时间与堆顶元素的时间,如果小的话就替换。代码#include<iostream>#include<cstdio>#include<algo原创 2017-06-05 21:55:40 · 341 阅读 · 0 评论 -
bzoj 1178: [Apio2009]CONVENTION会议中心 (set+倍增)
题目描述传送门题解代码#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<set>#include<map>#define N 200003#define inf 1000000000using namespace std;struct data原创 2017-04-27 16:07:58 · 705 阅读 · 0 评论 -
bzoj 4713: 迷失的字符串 (树形DP+bitset)
题目描述传送门题目大意:有一棵n个节点的大树,上面每条边有一个小写字符。 对于任意两个不同的点u,v,我们可以在树上找到u出发到v终止的唯一的一条最短路径,并将沿途经过的边上的字符依次写下来,得到一个字符串。 对于一个字符串,如果存在这样一个点对(u,v),使得它们路径上的字符串与其完全匹配,那么我们就称这个字符串属于这棵树。 现在有m个迷失的字符串,请你写一个程序帮助判断每一条字符串是否属于原创 2017-05-27 20:53:37 · 1255 阅读 · 2 评论 -
bzoj 1095: [ZJOI2007]Hide 捉迷藏 (动态点分治)
题目描述传送门题目大意:给出一棵树,树上的每个点有黑白两种状态,求树上最远两个黑点的距离。 会改变点的状态。题解这道题如果不会改变点的状态,那么就是一道点分治的裸题。因为点的状态会动态的改变,所以就引进了一种新的算法——动态点分治。 首先回顾一下点分治的过程,点分治其实就是每次找到重心,然后处理与重心有关的路径。时间复杂度的之所以能够保证是因为如果按照每次找出的重心建树,那么树高不会超过logn原创 2017-04-20 17:46:34 · 600 阅读 · 0 评论 -
bzoj 1483: [HNOI2009]梦幻布丁 (set)
题目描述传送门题解这道题其实应该是splay的启发式合并,但是可以用set水啊。 时间复杂度是O(nlogn)O(nlogn),因为每次合并的时候是将元素少的加入到元素多的集合中,那么对于小集合来说长度每次其实都至少翻了两倍,最多翻lognlogn次。代码#include<iostream>#include<cstdio>#include<cstring>#include<set>#inc原创 2017-04-14 09:00:20 · 384 阅读 · 0 评论 -
bzoj 3578: GTY的人类基因组计划2 (STL+hash)
3578: GTY的人类基因组计划2Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 312 Solved: 139[Submit][Status][Discuss]Description GTY召唤了n个人来做实验,GTY家的房子很大,有m个房间一开始所有人都在1号房间里,GTY会命令某人去某个房间等待做实验,或者命令一段原创 2016-07-13 20:59:41 · 450 阅读 · 0 评论 -
bzoj 3544: [ONTAK2010]Creative Accounting (STL)
3544: [ONTAK2010]Creative AccountingTime Limit: 10 Sec Memory Limit: 128 MBSubmit: 548 Solved: 265[Submit][Status][Discuss]Description给定一个长度为N的数组a和M,求一个区间[l,r],使得(\sum_{i=l}^{r}{a_i}) mo原创 2017-03-16 20:37:49 · 402 阅读 · 0 评论 -
bzoj 2882: 工艺 (后缀自动机+map)
2882: 工艺Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 596 Solved: 266[Submit][Status][Discuss]Description小敏和小燕是一对好朋友。他们正在玩一种神奇的游戏,叫Minecraft。他们现在要做一个由方块构成的长条工艺品。但是方块现在是乱的,而且由于机器原创 2016-12-21 09:35:40 · 575 阅读 · 0 评论 -
bzoj 3991: [SDOI2015]寻宝游戏 (set+LCA+dfs序+虚树)
3991: [SDOI2015]寻宝游戏Time Limit: 40 Sec Memory Limit: 128 MBSubmit: 1087 Solved: 545[Submit][Status][Discuss]Description 小B最近正在玩一个寻宝游戏,这个游戏的地图中有N个村庄和N-1条道路,并且任何两个村庄之间有且仅有一条路径可达。游戏开始时,玩家可以原创 2017-03-12 20:33:04 · 404 阅读 · 0 评论 -
bzoj 4419: [Shoi2013]发微博 (STL)
4419: [Shoi2013]发微博Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 431 Solved: 239[Submit][Status][Discuss]Description刚开通的SH微博共有n个用户(1..n标号),在短短一个月的时间内,用户们活动频繁,共有m条按时间顺序的记录:! x 表示用户x发原创 2017-03-16 20:02:53 · 329 阅读 · 0 评论 -
bzoj 3784: 树上的路径 (ST表+优先队列+点分治)
题目描述传送门题目描述: 给定一个N个结点的树,结点用正整数1..N编号。每条边有一个正整数权值。用d(a,b)表示从结点a到结点b路边上经过边的权值。其中要求a题解这道题用到了点分治的思想,但是重点应该还是统计答案。 首先在点分治中,我们每个点最多会被遍历logn次,那么我们可以每次点分治的时候将点按照遍历的顺序加入队列,我们每次加入的是以某个节点为起点的路径,那么所有的路径都可以由两条相交于原创 2017-03-24 15:41:11 · 507 阅读 · 0 评论 -
bzoj 1604: [Usaco2008 Open]Cow Neighborhoods 奶牛的邻居(set+并查集)
1604: [Usaco2008 Open]Cow Neighborhoods 奶牛的邻居Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 933 Solved: 370[Submit][Status][Discuss]Description了解奶牛们的人都知道,奶牛喜欢成群结队.观察约翰的N(1≤N≤100000)只奶牛,你会发原创 2017-03-17 21:43:21 · 510 阅读 · 0 评论 -
bzoj 1555: KD之死 (贪心+STL)
1555: KD之死Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 99 Solved: 47[Submit][Status][Discuss]Description在F出去旅游的这几十年里面,地球上已经发生了翻天覆地的变化。原来KD早知道不和谐的地球即将会爆发有史以来的第一次SC(S**t Combat)大战,这场战争有可能原创 2017-03-17 19:38:42 · 934 阅读 · 1 评论 -
bzoj 2709: [Violet 1]迷宫花园 (最短路)
2709: [Violet 1]迷宫花园Time Limit: 5 Sec Memory Limit: 128 MBSubmit: 840 Solved: 288[Submit][Status][Discuss]DescriptionInputOutputSample Input510.28 9 9######原创 2017-03-17 19:05:13 · 541 阅读 · 0 评论 -
bzoj 1150: [CTSC2007]数据备份Backup (贪心+优先队列+链表)
题目描述传送门题目大意:给出n个点,选出2k个点两两配对,每对的代价上两个点的坐标差,每个点只能选一次,求最小代价。题解因为k<=n/2,所以选中的每对点一定是直接相连的。 那么如果我们把每两个点之间的间距看成点权,得到n-1个点。那么问题就转换成给出n-1个点从中选取k个点,使选中的点不相邻。把刚开始把所有的点加入优先队列,每次选取没有标记过的点更新答案。 加入一个点,那么他的nxt和pre都原创 2017-06-11 15:38:23 · 371 阅读 · 0 评论