亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Codeforces 672C Recycling Bottles【極限思維+貪心枚舉】

2019-11-14 09:05:35
字體:
來源:轉載
供稿:網友

C. Recycling Bottlestime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard output

It was recycling day in Kekoland. To celebrate it Adil and Bera went to Central Perk where they can take bottles from the ground and put them into a recycling bin.

We can think Central Perk as coordinate plane. There are n bottles on the ground, the i-th bottle is located at position(xi,?yi). Both Adil and Bera can carry only one bottle at once each.

For both Adil and Bera the PRocess looks as follows:

Choose to stop or to continue to collect bottles. If the choice was to continue then choose some bottle and walk towards it. Pick this bottle and walk to the recycling bin. Go to step 1.

Adil and Bera may move independently. They are allowed to pick bottles simultaneously, all bottles may be picked by any of the two, it's allowed that one of them stays still while the other one continues to pick bottles.

They want to organize the process such that the total distance they walk (the sum of distance walked by Adil and distance walked by Bera) is minimum possible. Of course, at the end all bottles should lie in the recycling bin.

Input

First line of the input contains six integers ax,ay,bx,by,tx andty (0?≤?ax,?ay,?bx,?by,?tx,?ty?≤?109) — initial positions of Adil, Bera and recycling bin respectively.

The second line contains a single integer n (1?≤?n?≤?100?000) — the number of bottles on the ground.

Then follow n lines, each of them contains two integersxi andyi (0?≤?xi,?yi?≤?109) — position of the i-th bottle.

It's guaranteed that positions of Adil, Bera, recycling bin and all bottles are distinct.

Output

Print one real number — the minimum possible total distance Adil and Bera need to walk in order to put all bottles into recycling bin. Your answer will be considered correct if its absolute or relative error does not exceed10?-?6.

Namely: let's assume that your answer is a, and the answer of the jury isb. The checker program will consider your answer correct if.

ExamplesInput
3 1 1 2 0 031 12 12 3Output
11.084259940083Input
5 0 4 2 2 055 23 05 53 53 3Output
33.121375178000Note

Consider the first sample.

Adil will use the following path: .

Bera will use the following path: .

Adil's path will be units long, while Bera's path will be units long.

題目大意:

現在有兩個人,分別站在(ax,ay)和(bx,by)處,現在有N個垃圾,需要處理,垃圾箱位于(tx,ty)處,這兩個人每次只能拿一個垃圾,并且拿到垃圾之后必須放到垃圾箱中,對于兩個人來講,每個人的行動都是相對獨立的。問兩個人的路徑和最小是多少,就能夠將所有垃圾都扔到垃圾箱中。

思路:

1、這種思維題還是靠某些典型題的體型所影響。比如51nod 1487 占領資源(topcoder上的題)這道題:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1487

利用到這種極限思維的題還是蠻經典的??梢砸巹澋揭活惾ド羁逃洃洝?/p>

因為做出來這個題的時候感覺這種極限思維還是蠻有趣的,記憶比較深刻。

2、對于A.B兩個人來講,如果一開始都在垃圾箱處出發,那么ans=2*Σdis(xi,yi)---->(tx,ty);

對于兩個人A.B,每個人只要都選了一個垃圾去撿,并且都回到了垃圾箱處,那么接下來的路程就相當于一個人來回走。

那么對于暴力思維來講,那就是直接O(n^2)枚舉兩個垃圾,過程維護最小值。顯然這么做是會超時的。

那么接下里從貪心的角度出發,對于ans=2*Σdis(xi,yi)->(tx,ty)-A選擇的第一個垃圾的點到垃圾箱的距離+A選擇的第一個垃圾的點到A初始位子的距離-B選擇的第一個垃圾的點到垃圾箱的距離+B選擇的第一個垃圾的點到A初始位子的距離;

我們肯定是希望后邊這一大長串描述中,A選擇的第一個垃圾的點到A初始位子的距離以及B選擇的第一個垃圾的點到B初始位子的距離的和盡可能的小,然而對于不同的選擇方式,最終答案肯定是不同的。

那么我們不妨設定兩個數組A【】,B【】,一個按照點與A的距離從小到大排序,一個按照與B的距離從小到大排序。

接下來我們可以暴力枚舉兩項,分別作為A選擇的點以及B選擇的點,當然不能忘記,有可能一個人一直不動是正解,這種情況也要枚舉。

3、通過思考和簡單枚舉不難發現對于枚舉的量,其實只要足夠大,就一定不會影響結果。

所以在第一次提交的時候,我A,B數組都枚舉了1000的量,結果是Ac的。(再之后交了一發100的枚舉量,也是Ac的);

4、這種極限思維還是蠻實用的。

Ac代碼:

#include<stdio.h>#include<string.h>#include<math.h>#include<iostream>#include<algorithm>using namespace std;#define ll __int64struct node{    ll x,y;    double dis0;    double disa;    double disb;    int pos;}a[100060],b[100060];double dis(ll a,ll b,ll c,ll d){    return sqrt((a-c)*(a-c)+(b-d)*(b-d));}int cmp(node a,node b){    if(a.disa!=b.disa)    return a.disa<b.disa;    else return a.disb<b.disb;}int cmp2(node a,node b){    if(a.disb!=b.disb)    return a.disb<b.disb;    else return a.disa<b.disa;}int main(){    ll ax,ay,bx,by,tx,ty;    while(~scanf("%I64d%I64d%I64d%I64d%I64d%I64d",&ax,&ay,&bx,&by,&tx,&ty))    {        ll n;        scanf("%I64d",&n);        double minna=-1,minna0;        double minnb=-1,minnb0;        double sum=0;        for(int i=0;i<n;i++)        {            scanf("%I64d%I64d",&a[i].x,&a[i].y);            a[i].pos=i;            b[i].pos=i;            a[i].dis0=dis(a[i].x,a[i].y,tx,ty);            a[i].disa=dis(a[i].x,a[i].y,ax,ay);            a[i].disb=dis(a[i].x,a[i].y,bx,by);            sum+=2*a[i].dis0;            b[i].dis0=a[i].dis0,b[i].disa=a[i].disa;b[i].disb=a[i].disb;        }        double ans=2000000000000000000;        sort(a,a+n,cmp);        sort(b,b+n,cmp2);        for(int i=0;i<n&&i<100;i++)        {            for(int j=0;j<n&&j<100;j++)            {                if(a[i].pos==b[j].pos)                {                    ans=min(ans,min(sum-a[i].dis0+a[i].disa,sum-b[j].dis0+b[j].disb));                    continue;                }                ans=min(ans,sum-a[i].dis0-b[j].dis0+a[i].disa+b[j].disb);            }        }        printf("%.12lf/n",ans);    }}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
在线电影欧美日韩一区二区私密| 国产激情视频一区| 欧美久久久精品| 欧美日韩综合视频网址| 国产日韩欧美日韩大片| 视频直播国产精品| 91麻豆国产语对白在线观看| 91精品视频在线免费观看| 欧美激情视频网| 日韩黄在线观看| 俺也去精品视频在线观看| 日韩精品中文字幕有码专区| 日韩中文字幕在线视频播放| 26uuu另类亚洲欧美日本老年| 国产精品18久久久久久首页狼| 亚洲国产免费av| 国产精品成av人在线视午夜片| 久久久国产一区二区三区| 国产精品视频自在线| 欧美在线观看网址综合| 美女国内精品自产拍在线播放| 国产91精品久久久| 韩剧1988在线观看免费完整版| 欧美在线视频观看免费网站| 亚洲高清一二三区| 国产综合视频在线观看| 国产欧美久久一区二区| 国产亚洲成精品久久| 色香阁99久久精品久久久| 成人97在线观看视频| 国产中文字幕日韩| 亚洲va电影大全| 亚洲一区二区三区香蕉| 欧美亚洲另类在线| 欧美午夜精品久久久久久浪潮| 亚洲精品欧美日韩| 欧美激情2020午夜免费观看| 91亚洲人电影| 日韩中文字幕av| 国产97色在线|日韩| 成人动漫网站在线观看| 欧美裸体视频网站| 亚洲永久免费观看| www.美女亚洲精品| 久久久久北条麻妃免费看| 国产精品久久9| 欧美大片免费看| 国产一区二区在线免费视频| 国产精品免费一区二区三区都可以| 成人黄色午夜影院| 欧美另类在线观看| 国产在线日韩在线| 国产情人节一区| 亚洲欧美日韩视频一区| 亚洲人午夜色婷婷| 国产日产欧美精品| 91久久久久久久久久久久久| 91系列在线播放| 91久久久精品| 亚洲精品国产精品乱码不99按摩| 亚洲国产精彩中文乱码av在线播放| 97精品国产97久久久久久免费| 91沈先生作品| 久久在线视频在线| 亚洲午夜性刺激影院| 亚洲午夜小视频| 国产精品久久久久久久一区探花| 国产精品69久久| 亚洲精品成人久久电影| 热久久这里只有精品| 最好看的2019的中文字幕视频| 亚洲第一精品自拍| 日韩电影免费观看在线观看| www国产亚洲精品久久网站| 亚洲天堂日韩电影| 中文字幕在线国产精品| 久久久欧美精品| 国产日韩综合一区二区性色av| 91天堂在线视频| 日韩在线视频导航| 久久亚洲一区二区三区四区五区高| 欧美一区二区大胆人体摄影专业网站| 一本色道久久综合狠狠躁篇怎么玩| 亚洲精品国产电影| 992tv成人免费视频| 国产欧美va欧美va香蕉在| 欧美日韩视频免费播放| 97在线视频观看| 久久精品青青大伊人av| 欧美一区亚洲一区| 岛国av一区二区在线在线观看| 一区二区三区四区在线观看视频| 国产一区二中文字幕在线看| 日韩av综合中文字幕| 91在线视频一区| 97国产精品人人爽人人做| 国产最新精品视频| 国产精品欧美日韩久久| 成人性生交大片免费观看嘿嘿视频| 91亚洲人电影| 国产精品白丝av嫩草影院| 日韩成人在线播放| 丝袜亚洲另类欧美重口| 精品国产成人在线| 国产区精品视频| 97香蕉超级碰碰久久免费的优势| 亚洲日本欧美日韩高观看| 亚洲精品二三区| 亚洲国产精品小视频| 亚洲激情在线观看视频免费| 久久91精品国产91久久久| 亚洲欧美另类人妖| 日韩欧美一区二区三区| 亚洲欧美国产精品| 青青草一区二区| 欧美日韩综合视频| 欧美激情高清视频| 97在线视频免费观看| 亚洲天堂第一页| 国自在线精品视频| 欧美精品激情在线| 亚洲欧美国产视频| 中文欧美在线视频| zzijzzij亚洲日本成熟少妇| 日韩在线视频线视频免费网站| 日韩国产在线播放| 欧美国产日韩在线| 亚洲天堂网在线观看| 欧美激情视频网| 成人中文字幕+乱码+中文字幕| 午夜精品久久久久久久男人的天堂| 97久久超碰福利国产精品…| 欧美日韩国产中文字幕| 中文字幕视频一区二区在线有码| 久久成人精品一区二区三区| 九九九热精品免费视频观看网站| 亚洲精品天天看| 久久天天躁狠狠躁夜夜躁| 欧美激情视频一区二区| 国语自产精品视频在免费| 日韩小视频在线| 中文字幕精品在线视频| 日韩欧美中文第一页| 国产精品网红福利| 一区二区三区精品99久久| 高清一区二区三区四区五区| 亚洲成人网av| 精品露脸国产偷人在视频| 欧美黑人xxxⅹ高潮交| 色综合五月天导航| 伊人久久久久久久久久| 久久高清视频免费| 国产精品美女久久久久av超清| 国产精品精品一区二区三区午夜版| 亚洲精品美女久久久久| 色先锋资源久久综合5566| 久久久午夜视频| 中文字幕日韩精品在线| 久久99久久99精品中文字幕| 日本欧美国产在线| 中文字幕综合一区| 97不卡在线视频| 欧美日韩一区二区免费在线观看| 欧美精品激情在线观看|