
STL
文章平均质量分 73
commonc
这个作者很懒,什么都没留下…
展开
-
BZOJ3523: [Poi2014]Bricks
题目大意:给你每种颜色的砖块数量,相同颜色的砖块不能放在一起,两头颜色已经确定,构造一种方案很容易想到是贪心,哪种颜色剩下的多就优先放那种颜色,多个颜色数量相同优先放结尾的那种颜色,实在放不了了就无解#include#include#include#define N 1000010using namespace std;struct ppp{int w,c原创 2016-05-12 14:44:26 · 1146 阅读 · 0 评论 -
BZOJ2082: [Poi2010]Divine divisor
题目大意:给出一个用m个ai乘起来表示的n,求出一个最大的k,使得存在一个d,使得d^k|n,并求出在这种情况下符合条件的d的个数我们想求得答案,很自然的想要进行质因数分解,想要把n进行质因数分解,显然要把ai进行质因数分解但是由于ai有点大,直接根号ai全部分解显然是不现实的那么我们不妨考虑先筛出10^6以内的所有素数,然后用这些素数来筛ai这样筛完之后,对于所有的ai,原创 2016-12-29 14:05:11 · 645 阅读 · 0 评论 -
BZOJ3832: [Poi2014]Rally
题目大意:给你一个DAG,让你删掉一个点,使得图中最长路最短这是一道神题啊,不上网搜题解我是肯定不会做....首先新建超级源汇,问题就变成了求删掉一个点后,超级源点到超级汇点的最长路最短是多少首先需要想到,任意的割集都会把至少一条从源到汇的最长路上的边割掉所以我们可以先计算出源点到所有点的最长路以及所有点到汇点的最长路然后为每个边赋一个权值,权值=源点到起点的最长路+终原创 2016-05-13 09:08:39 · 1308 阅读 · 0 评论 -
BZOJ2083: [Poi2010]Intelligence test
题目大意:给定一个数串,和m个小数串,问这些小串都是不是大数字串的子序列正常只有一个小串的话思路肯定是在大串上一个个扫,遇到和小串一样的就窜一位...我们可以用vector来让多个小串一起进行这个事情,这样大串只需要扫一遍就可以了...用vector存下现在每个小串的下一位,大串每前进一次就把所有符合条件的小串也前进一位,这样时间上限为所有字符串的总长度#inclu原创 2016-09-07 15:50:43 · 655 阅读 · 0 评论 -
BZOJ2081: [Poi2010]Beads
题目大意:给一个数串,求出在每段长度为i(1根据调和级数,枚举所有的长度,总段数是O(NlogN)级别的所以判重我们可以用hash和map,这样就可以在O(Nlogn^2)时间内出解PS:base设成233就WA,2333就过了真是厉害#include#include#include#include#include#define N 200010原创 2016-09-07 15:15:01 · 855 阅读 · 1 评论 -
BZOJ2215: [Poi2011]Conspiracy
题目大意:给定一张无向图,要求你把图中的每个点染成红色或蓝色,使得红色的点形成一个团,蓝色的点形成一个独立集首先假设我们已经求出了一组可行解,那么其他方案至多是本方案中从后勤和同谋组各出一个人进入对方组,因为一旦从某一组出来两个就一定不满足题意这时我们考虑处理出每个人是否只与对面集合中的一个人冲突,然后分类三种情况(只有后勤去同谋,只有同谋去后勤,两边交换一个人)枚举就可以了。原创 2016-08-25 07:48:24 · 932 阅读 · 0 评论 -
BZOJ1635: [Usaco2007 Jan]Tallest Cow 最高的牛
题目大意:有n头牛,给定一些限制条件,每个限制条件是a的身高小于等于b的身高且a到b之间的牛身高都小于a的身高,求每头牛最高是多少首先因为题目数据保证合法了,所以a≤b这个条件没什么用,其次最高的牛的编号也没有用,因为这个我们也能求出来然后假设我们把每个限制条件想象成一对括号,那么就是说括号里面的身高都要比括号外面的身高矮一截....然后当一对括号层层嵌套时,这些牛的身高就是越往里越矮原创 2016-08-22 10:30:23 · 675 阅读 · 0 评论 -
BZOJ3387: [Usaco2004 Dec]Fence Obstacle Course栅栏行动
题目大意:给定一个初始点和n个与x轴平行的y轴坐标互不相同的栅栏,问水平距离至少移动多少能使得从该初始点回到原点且不从中间跨越任何一条栅栏首先可以确定,最终行进的路线一定可以等价于在几个栅栏的边界和起点终点间连线产生的路径,也就是说只有栅栏的边界是有用的,所以我们可以在这些点上建边跑最短路但是这样的话边数是N^2级别的,所以我们要优化一下建图考虑什么样的边是有效的,对于一个栅栏原创 2016-08-22 08:30:13 · 822 阅读 · 0 评论 -
BZOJ2802: [Poi2012]Warehouse Store
题目大意:每天会有进货和订单,对于每份订单要么今天满足他要么就再也满足不了了,问最多能满足多少份订单一个贪心最后一天的货肯定只能用于满足最后一天的订单倒数第二天的则有两个选择,为了保证能完成的订单数最多,就在两天之中挑一个快要达成的来满足(相当于在倒数第二天的订单和倒数第一天的订单减去倒数第一天的货之间取个最小值)以此类推...可以看代码#include#include原创 2016-06-22 15:01:47 · 879 阅读 · 0 评论 -
BZOJ4561: [JLoi2016]圆的异或并
题目大意:给你一堆圆,只存在相离和包含的关系,求他们的异或面积并如果考试的时候卷面像我这么标注,我怎么能看错题呢?!用一个扫描线,从左到右扫一遍,因为只有这两种关系,所以扫描线上的这些圆相对位置是固定的我们可以把每个圆想象成两个括号,括号之间不会相交,每当扫描线扫到一个新的圆时,相当于在某处添加一对括号,而当扫描线扫完一个圆时,相当于把一个中间不包含任何东西的括号删除用set维护一原创 2016-05-13 08:39:32 · 1829 阅读 · 0 评论 -
BZOJ2800: [Poi2012]Leveling Ground
题目大意:给定n个数和a,b每次可以选择一段区间+a,-a,+b或-b,问最少操作几次能把他们都变成0首先应该能想到差分,这样就相当于在n+1个数每次选两个数,一个+a一个-a(或b),最后把他们都变成0首先我们对于每个差分之后的B[i]先用exgcd构造出一组用a,b表示的解,即a*x[i]+b*y[i]=B[i]最后这个点的解一定形如X[i]=x[i]+k*b,Y[i]=y[i]-原创 2016-07-02 09:55:38 · 1218 阅读 · 0 评论 -
BZOJ2797: [Poi2012]Squarks
题目大意:给n个数的所有和,求这n个数的所有可能方案首先最小的是x1+x2,第二小的是x1+x3,接着O(N)枚举x2+x3,就能算出x1,x2,x3,然后从所有的和中删掉这3个和,剩下的最小的一定是x1+x4,这样就求出了x4,然后再删掉这三个新的和,又能求出x1+x5....以此类推没有spj,但是貌似1A了...#include#include#inc原创 2016-06-24 13:46:58 · 1186 阅读 · 0 评论 -
BZOJ1116: [POI2008]CLO
题目大意:给一张没有重边的无向图,要求给其中N条边指定方向,使得每个点入度=1(POI官网要求输出一组解,但是估计BZOJ当时懒得写SPJ了)首先大概画一画能想到一个事情:若每个点度数至少为2,则图一定有解若有一个点度数为0,则该图一定无解所以我们只需要处理一下度数为1的点,这些点连出的边必然指向自己所以我们可以把这些点和这些边删掉,然后判断子图能否成立,这两个问题原创 2017-02-27 15:00:59 · 538 阅读 · 0 评论