zoukankan      html  css  js  c++  java
  • poj 2420

    太虚假了。

    我为什么要手贱点开submission?

    这道题两天之前被一个学弟A了。

    我退役了。

    其实就是爬山吧。。好像有的题解还分方向什么的完全没必要吧。

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cmath>
     4 #include <stdlib.h>
     5 #define pii pair<int,int>
     6 using namespace std;
     7 typedef double db;
     8 const db INF = 1e100;
     9 const db delta = 0.98;
    10 const db eps = 1e-8;
    11 int sign(db k){
    12     if (k>eps) return 1; else if (k<-eps) return -1; return 0;
    13 }
    14 int cmp(db k1,db k2){return sign(k1-k2);}
    15 struct point {
    16     db x,y;
    17     point operator - (const point &k1)const { return point{x-k1.x,y-k1.y};};
    18     db abs(){ return sqrt(x*x+y*y);}
    19     db dis(point k1){ return ((*this)-k1).abs();}
    20 };
    21 db random(){
    22     return (rand()&1?1:-1)*rand()*1.0/32767;
    23 }
    24 int n;point p[105];
    25 point ans[10];
    26 db F(point x){
    27     db res = 0;
    28     for(int i=0;i<n;i++){
    29         res+=x.dis(p[i]);
    30     }
    31     return res;
    32 }
    33 void SA(){
    34     db t = 100;
    35     while (t>eps){
    36         for(int i=0;i<10;i++){
    37             db tmp = F(ans[i]);
    38             for(int j=0;j<10;j++){
    39                 point _x=point{ans[i].x+random()*t,ans[i].y+random()*t};
    40                 db f = F(_x);
    41                 if(tmp>f) {
    42                     tmp = f;
    43                     ans[i]=_x;
    44                 }
    45             }
    46         }
    47         t*=delta;
    48     }
    49     db ed = INF;
    50     for(int i=0;i<10;i++)
    51         ed=min(ed,F(ans[i]));
    52     printf("%.0f",ed);
    53 }
    54 int main(){
    55     ios::sync_with_stdio(false);
    56     scanf("%d",&n);
    57     for(int i=0;i<n;i++){
    58         scanf("%lf%lf",&p[i].x,&p[i].y);
    59     }
    60     SA();
    61 }
    View Code
  • 相关阅读:
    MingW 综合资料参考
    技术文档编写的参考
    web地图的几个参考地址
    Linux的版本
    学习C语言一些的好的书和网站
    基于JAVA的web框架 GWT SmartGWT ExtGWT Vaadin
    Linux Shell的类别
    JavaScript图书推荐
    云盘分享 自绘画【儿童眼里的世界的确不同】
    GWT概述
  • 原文地址:https://www.cnblogs.com/MXang/p/10545048.html
Copyright © 2011-2022 走看看