
小技巧
文章平均质量分 50
commonc
这个作者很懒,什么都没留下…
展开
-
BZOJ4386: [POI2015]Wycieczki
题目大意:给定一张n个点m条边的带权有向图,每条边的边权只可能是1,2,3中的一种,输出k段路径,没有输出-1一眼矩阵乘法嘛,弱智题O((3*N)^3*log(INF)*log(K))然后手贱搜了一下题解,把我惊到了...首先这个时间复杂度是过不了的,也就是说不能二分然后快速幂直接判应该先预处理出来所有2的k次幂,然后就像LCA一样,这样可以一个log搞出来其次是.....原创 2016-05-10 10:06:06 · 1949 阅读 · 3 评论 -
BZOJ3833: [Poi2014]Solar lamps
题目大意:给N盏灯,没盏灯能照到的角度范围是相同的,第i盏灯在第i秒或者被ki盏灯照到后都会亮起,问所有灯都在什么时刻亮起第一眼感觉计算几何,直接放弃...后来看了题解才想起来转换坐标系这回事...因为所有的照射方向都是斜着的两条线,所以我们不妨变换一下坐标系,把其中一个作为横坐标,另一个作为纵坐标,然后把所有的坐标全部转化这样问题就变成了按顺序查询一个点左下角的区域内第ki小的数是多原创 2016-05-13 13:14:36 · 1157 阅读 · 0 评论 -
BZOJ1635: [Usaco2007 Jan]Tallest Cow 最高的牛
题目大意:有n头牛,给定一些限制条件,每个限制条件是a的身高小于等于b的身高且a到b之间的牛身高都小于a的身高,求每头牛最高是多少首先因为题目数据保证合法了,所以a≤b这个条件没什么用,其次最高的牛的编号也没有用,因为这个我们也能求出来然后假设我们把每个限制条件想象成一对括号,那么就是说括号里面的身高都要比括号外面的身高矮一截....然后当一对括号层层嵌套时,这些牛的身高就是越往里越矮原创 2016-08-22 10:30:23 · 675 阅读 · 0 评论 -
BZOJ2557: [Poi2011]Programming Contest
题目大意:n个人m个题目,每个题要r分钟完成。比赛有t分钟。给出每个人会做哪些题目,请你安排一个每个人在什么时候做什么题目,使得做出来的题目数最多。在做题数一样多的情况下,罚时尽量小。首先可以想到费用流做法,即对于每个人在时间限制内建很多条边,费用分别为1.2.3.4.5.....代表他们做了多少题,然后在能做的关系对间连边,每道题再向汇点连边即可但是这样边的数目最多可达百万,原创 2016-08-24 10:01:44 · 1014 阅读 · 0 评论 -
BZOJ2093: [Poi2010]Frog
题目大意:给一条线上n个石头,青蛙从跳m步,每次跳到离当前第k近的石头,求以所有点为起点最终会跳到哪很关键的一步是求出从每个点跳一步会去到哪里这个可以用两个指针维护一段区间,代表前k近的石头的区间,然后从左到右扫一遍,指针也跟着平移,就能O(N)扫出来了之后的部分可以在环套树森林上DFS来O(N)出解,不过这个有点麻烦,于是我就写了个倍增(环套树倍增也算树倍增吧?)不过倍增原创 2016-09-21 09:27:54 · 817 阅读 · 0 评论 -
BZOJ1136: [POI2009]Arc
题目大意(跟BZOJ上的不一样!!!):这是一道交互题!内存限制为32MB!先给你一个整数K(K要求你求出一个长度为K的字典序最大的子序列!这是一道非常厉害,非常有想法的交互题!但是BZOJ不支持交互,所以就变成了一个可以上来把所有数读进来再做的SB题朴素的做法是维护一个单调递减的栈,开始的n-k个直接推入栈中,最后k个每推进去一个元素就把栈底输出并删掉(其实像原创 2017-01-17 15:48:41 · 673 阅读 · 0 评论