摘要: 题目大意给你平面上 n(2<=n<=400) 个点,要求用这些点组成一个二叉树(每个节点的儿子节点不超过两个),定义每条边的权值为两个点之间的欧几里得距离。求一个权值和最小的二叉树,并输出这个权值点 i 可以成为点 j 的的父亲的条件是:点 i 的 y 坐标比 j 的 y 坐标大!如果不存在这样的二叉树,输出 -1做法分析转换成为最小费用流 1、把每个点 u 拆成两个点 u' 和 u'' 2、增加源点 source 和汇点 sink 3、链接 source 和每个点 u',即 <source, u'> 容量为 2,费用为 0 4、 阅读全文
posted @ 2013-03-08 22:47 jianzhang.zj 阅读(495) 评论(0) 推荐(0) 编辑
摘要: 题目大意给你一组数 a(1),a(2),a(3),...,a(n) (n<=10^5),以及 m(m<=10^5) 个 query,每个 query 的格式为 l(i) r(i),问数组中从 l(i) 到 r(i) 中的数是否是一个 lander(梯子?)一个 lander 的定义是:对于一列数 b(1),b(2),b(3),...,b(k),存在一个数 x(1<=x<=k),使得:b(1)<=b(2)<=b(3)<=...<=b(x)<=b(x+1)<=...<=b(k)做法分析定义两个数组:inc[] 和 dec[] 初始化 阅读全文
posted @ 2013-03-08 01:25 jianzhang.zj 阅读(296) 评论(0) 推荐(0) 编辑