随笔分类 - 随机算法
模拟退火
    
摘要:还是跟那题poj 1379 run away一样的做法http://www.cnblogs.com/wuyiqi/archive/2011/12/08/2280885.html改一下最优的方法(到n个点的距离之和)就好了View Code //求n边形的费马点//即找到一个点使得这个点到n个点的距离之和最小#include<stdio.h>#include<math.h>#include<stdlib.h>#include<time.h>const double inf = 1e10;const double pi = acos(-1.0);co
        阅读全文
            
摘要:两个题目一个是求一个点,使得该点到n个点的最大距离的最小值另一个是求一个点,使得该点到n个点的最小距离的最大值好像也不是什么模拟退火的做法,只是一种利用随机函数的做法,遍历一下整个区域找到最优解poj 1379View Code //在某个区域内到某个点集的最小距离最大//随机算法解决//dis[i]表示点i到点集中最小距离的最大值#include<stdio.h>#include<math.h>#include<stdlib.h>#include<time.h>const double inf = 1e10;const double pi = 
        阅读全文
            
摘要:找出一个点使得这个店到n个点的最长距离最短,即求最小覆盖圆的半径用一个点往各个方向扩展,如果结果更优,则继续以当前步长扩展,否则缩小步长View Code #include<stdio.h>#include<math.h>#include<string.h>const double pi = acos(-1.0);struct point { double x,y;}p[1010];int n;point mid,tmid;double R,xmin,ymin,xmax,ymax;double ans,tans;double dis(point a, poi
        阅读全文
            
摘要:学习自http://blog.csdn.net/dooder_daodao/article/details/6336879View Code 1 #include<stdio.h> 2 #include<math.h> 3 #include<stdlib.h> 4 #include<time.h> 5 const double inf = 1e10; 6 const double pi = acos(-1.0); 7 const int Rp = 4; 8 const int shift = 60; 9 struct point {10 doub
        阅读全文
            
 
                    
                
 
 浙公网安备 33010602011771号
浙公网安备 33010602011771号