摘要: 问n<=10000个点的中位数。 水题必有玄机!(然后浪费了半天在怎么O(n)求中位数并且最后放弃了) 1 #include<stdio.h> 2 #include<string.h> 3 #include<algorithm> 4 #include<cstdlib> 5 //#include<io 阅读全文
posted @ 2017-07-21 14:14 Blue233333 阅读(146) 评论(0) 推荐(0) 编辑
摘要: n<=100000个房容量Ai,m<=100000头牛分别要占Li~Ri的房,求能同时满足的牛最多有多少。 先把这些各种各样要求的牛排个序观察一下,可以发现,如果若干头牛的Li是一样的,而Li处的容量不允许它们同时放,这时就要舍弃Ri大的那几头,因为价值相同,舍弃谁都不会影响当前的答案,但Ri大的对 阅读全文
posted @ 2017-07-21 10:58 Blue233333 阅读(165) 评论(0) 推荐(0) 编辑
摘要: n<=10000局剪刀石头布,对面第i局出Ai,m<=10000种对你出什么提出的要求:Xi Yi Wi 表示第Xi局和第Yi局,Wi=1:必须不同;Wi=0:必须相同,问是否存在你一局都不能输的可行解。 一开始对面就把你每局的选择减成2个了,又是一个2-SAT问题。至于建图一定要考虑周全!注意一个 阅读全文
posted @ 2017-07-20 16:48 Blue233333 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 给n<=100对点,从每对点里面挑一个并以这些挑出的点为圆心画圆,并且这些圆不能互相覆盖,找出一种方案使得这些圆半径中最小的那个最大。 “最小值最大”就是二分答案啦!考虑现在每个点都画出半径x的圆,如何选点呢? 可以发现选了一个点P之后与其距离相差2x内的点Q都不能被选,也就是“与P在同一对的另一个 阅读全文
posted @ 2017-07-20 10:42 Blue233333 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 用的是刘汝佳大白书里面的版本。网上还有tarjan缩点后再拓扑排序构造解的版本,感觉靠谱一点,但太长了。。。 ps:为什么说“如果当前考虑的变量不管赋值为真还是假都会引起矛盾,可以证明整个2-SAT问题无解”??? 是这样的:比如说,某个点探测到的所有点,构成了一个集合。如果有必要调整前面的策略,那 阅读全文
posted @ 2017-07-20 10:32 Blue233333 阅读(188) 评论(0) 推荐(0) 编辑
摘要: n个数字中,每个数有数字A和属性B,每次操作将某个点x的属性B改变为0或1,求满足这样要求的子序列的个数: 下标a<b<c<d<e,而Aa<=Ab=Ac=Ad>=Ae且Bb=Bc=Bd=1。 区间操作,首推线段树!(然后就不会了,跑去看别人的代码) 是这样的,重点在于中间那三个点,因为我们的修改操作 阅读全文
posted @ 2017-07-18 00:01 Blue233333 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 给出字符串s和t,以及s的长度n的一个全排列,求按照这个排列依次删除s的字符,删到何时s中不含子序列t。 解法一: t中的每个字符的位置在s中跳啊跳,合法的情况下t中的字符在s中的位置应该是单调递增的,因此让t中的字符在s中建的邻接表里跳啊跳就好了。 1 #include<cstdio> 2 #in 阅读全文
posted @ 2017-07-17 11:09 Blue233333 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 用一个圆心在(x,y)的圆环覆盖一个n边形,顺或逆时针给出n边形所有顶点,求圆环最小面积。 卡了好久,各种傻逼错误。。 题目就是让我们固定一大一小两个边界圆,我们来看看这两个圆满足什么条件。 首先外面的那个圆肯定是经过n边形的某个顶点,所以外圆半径就是最大的点距。 其次内圆呢,可能经过一个点,也可能 阅读全文
posted @ 2017-07-17 10:54 Blue233333 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 对叠放着的n张牌,第i张牌写有数字Ai,进行操作:将牌堆顶的牌取出,若是当前牌堆最小值就扔掉,否则放到牌堆底,求牌堆空时操作次数。 怎么看怎么像约瑟夫。。不过约瑟夫DP我不太熟,于是就yy了一下 “当前最小值”??优先队列。把Ai和i绑起来扔到优先队列里,就可以知道下一步要跳到哪里。 有个问题:如果 阅读全文
posted @ 2017-07-15 12:05 Blue233333 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 一个编号在1000内的m条边的图,求从s到t恰好经过D条路径的最短路。 一开始什么想法都没有。。之前写过分层图套进去也怪怪的。。毕竟D<=10^6 苦思冥想睡了一觉后,还是没思路,查查题解,打开了新世界的大门 没有重边,提示我们构造邻接矩阵,最短路可以用floyd求出,但怎么用Floyd来“限边”? 阅读全文
posted @ 2017-07-13 17:56 Blue233333 阅读(136) 评论(0) 推荐(0) 编辑
摘要: n*n的范围内放m个人,主角要在某个点朝上下左右、左上右上左下右下发射子弹,求能打到所有人有几个位置。 方法若干,总之n2过。 ps:如果n<=10^9呢? 1 #include<cstdio> 2 #include<cstdlib> 3 #include<algorithm> 4 #include 阅读全文
posted @ 2017-07-12 11:15 Blue233333 阅读(120) 评论(0) 推荐(0) 编辑
摘要: n头牛,第i头要SPF(某个参数)在Lowi到Highi的药,药m种每种SPF为Vi,数量为Numi,求最多能满足几头牛。 方法一:什么都看不出来,只知道第i头牛能和一些药匹配,于是网络流,牛向药连容量1的边,起点向牛容量1,药向终点容量为药数量,最大流。 1 #include<cstdio> 2 阅读全文
posted @ 2017-07-11 17:25 Blue233333 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 有n个点m条边的无向图,s个信息表示点Ai没被损坏,且到点1的路径无法只经过“未损坏的点”,求到点1路径必经“损坏的点”的点的个数的最小值。 初看毫无头绪,画个图模拟下,1--2(--5--6)--3--4,点4和6发出信息,那么有两种方式安排“损坏的点”:点2,或者点5和点3,显然后者答案更小 也 阅读全文
posted @ 2017-07-11 11:15 Blue233333 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 概率,是人类在可控范围内,由现在对未来的一种美好的推测;期望,则是人类按照自己的希望造成一个美丽的目标,从目标看自己未来的走向。两者相互联系,不可分割。 OI中对它们的应用主要涉及它们与DP的结合。在此之前,先看一下哪些公式可以用。 离散概率。P(E)=|E|/|S|,其中E指Event,S指样本容 阅读全文
posted @ 2017-07-11 11:01 Blue233333 阅读(267) 评论(0) 推荐(1) 编辑
摘要: 本博客从注册后一直坟了很久,对所有期望更新的人在此抱歉。 在过去的一年里,由于我自己见识浅薄(即便现在也是),很多时候想花一点精力来经营一下这里,但却不知道从何开始。就算之前写的那寥寥几篇,现在看来也有很多不尽科学的表述,而且分类也很乱。因此,重建博客任重道远。 希望在2017年这个暑假我能把它重建 阅读全文
posted @ 2017-07-09 18:27 Blue233333 阅读(208) 评论(3) 推荐(0) 编辑