博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年9月8日

摘要: 题目:http://poj.org/problem?id=3662题意:FJ要从1到N接电话线,电话公司可以免除K条的费用,求让需付费的电话线中的最大值在各种方案中最小的值,并输出。我用的是二分+Dijkstra+二次建图的方法:假设A是可行解,即路径上边权最大值为A,则该路径上边权大于A的边一定小于等于K条。若A不是最优解,那么必然B<A,是的路径上边权大于B的边小于等于K。于是我们可以二分答案,得到一个值X,将所有小于等于X的边变为0,大于X的边变为1。做最短路,则1到N的距离就是所用权值大于X边的条数。如果小于等于K,则是一个可行解。View Code #include<st 阅读全文

posted @ 2011-09-08 22:19 紫华弦筝 阅读(161) 评论(0) 推荐(0) 编辑

摘要: 题目:http://poj.org/problem?id=3072题意:平面上有n个点,从一点到另一点需要转向的话就需要时间,求从第一点到第n点的最短时间。注意:1、转向角度<=180度。2、计算转向角: 例如:由P1经过P2到P3 angle=fabs(atan2(p2.y-p1.y,p2.x-p1.x)【P2-P1向量的方向角】-atan2(p3.y-p2.y,p3.x-p2.x)【P3-P2向量的方向角】)3、初始时,robot是面向第n点的。View Code #include<stdio.h>#include<string.h>#include<m 阅读全文

posted @ 2011-09-08 22:12 紫华弦筝 阅读(159) 评论(0) 推荐(0) 编辑