- 博客(6)
- 收藏
- 关注

原创 CQOI2016题目&CQOI2016题解&不同的最小割&K远点对&手机号码&密匙破解&路由表&伪光滑数
良好的心态是成功的一半。 ------xinyueCQOI 游记 题目 良心题解
2016-04-12 15:43:02
1293
原创 bzoj2811 apio2012 守卫 guard 贪心
题目意思很好理解(为什么我会想到查分约束QAQ) ,正解居然是贪心(apio和noi/noip系列确实还是赶脚不一样) 首先要做的是把一定没有忍者的区间删除。用线段树操作比较方便,之后给每一个没被删除位置(从1---n)一个新的编号,为了将读入的区间重新表示出来(即要使读入的L,R都应该在没被删的地方),假设区间为(L,R),如果L所处被删,自然应该去找L右边第一个没被删的,R则为左
2016-04-13 23:49:11
1756
原创 CQOI2016 伪光滑数 可并堆+搜索
大意:(不好描述,看题目吧) 时间复杂度,一定是要依托于k来计算,看似要枚举的东西很乱,细细的规划一下,可以想到把他们以一个二元组区分(p,size)表示一个数的最大素数为p,且为size个素数相乘,一开始预处理,就可以求出2-127这31个质数的最大size,即 pi^size[i]>=N(size[i]取到最小)(这样能保证之后的所有状态的权值都是小于N的),一开始,我们的状
2016-04-13 16:38:11
732
原创 CQOI2016 K远点对
大意:求平面上k远点对 很有意思的一道题,凸包+旋转卡壳。 只会写平面上最远点对,现在要求平面上k远点对,那么总思路就是把k远点对转成最远点对。 当求到现在的最远点对(point1,point2)后,若不加处理,下次若继续求最远点对,一定还是(point1,point2),这不是我们想要的,故,要删除这个点对。删后再求最远点对,那么就是次远点对了,以此处理,最终会求
2016-04-13 16:32:48
1269
原创 apio2007 动物园
第一眼就看成网络流了ORZ,这时间让人恐惧.......... 再仔细看题,发现和一个小朋友有关的围栏只有5个,这是个非常小,且值得注意的数字,不由得会想到状态压缩,发现O(n*2^5)好像还真的挺搭。看题解的蒟蒻强行解释一波.......那么很块能想到状态 f[i][sta] (0转移方程不难推出:f[i][j]=max(f[i-1][(j>>1)&31],f[i-1][(j>
2016-04-13 00:37:12
1479
原创 bzoj2809 apio2012 派遣
直观思想是要找到以每个点为根的子树里,最多能有多少个节点薪水和不大于M,也就是要去把最小的点统计起来,乍一眼像是一个维护最小薪水的可并堆,但是考虑到必须要有出堆操作来使时间更优,而出堆元素越大越好,综上,维护一个子树中最大薪水的可并堆。DFS到一个点x时,先递归处理子树,再一个个合并儿子节点所代表的堆,并且在合并后进行不断的pop操作来删除超额节点,最后录入x的信息,每次去个max即可。代码如下。
2016-04-13 00:28:34
1407
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人