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

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

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

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

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

利用到這種極限思維的題還是蠻經典的。可以規劃到一類去深刻記憶。

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

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
亚洲理论在线a中文字幕| 久久国产精品偷| 欧美性69xxxx肥| 91久久久久久| 日韩小视频在线| 日韩免费观看高清| 国产一区二区三区日韩欧美| 日韩经典中文字幕在线观看| 亚洲欧美自拍一区| 欧美日韩精品在线观看| 一区二区三区在线播放欧美| 成人乱色短篇合集| 日韩av免费在线播放| 亚洲国产成人91精品| 国产免费一区二区三区香蕉精| 中文字幕亚洲无线码在线一区| 欧美香蕉大胸在线视频观看| 亚洲精品中文字幕女同| 久久精品国产欧美亚洲人人爽| 国产日韩欧美中文| 久久久久久久久久久久久久久久久久av| 欧美夜福利tv在线| 日日狠狠久久偷偷四色综合免费| 97超级碰碰人国产在线观看| 亚洲va欧美va国产综合剧情| 91精品国产91久久久久福利| 狠狠躁夜夜躁人人爽超碰91| 国产精品丝袜久久久久久高清| 精品国产电影一区| 欧美激情在线狂野欧美精品| 亚洲天堂一区二区三区| 日韩av色在线| 国产亚洲成精品久久| 不卡av电影在线观看| 国产91网红主播在线观看| 永久555www成人免费| 欧美日韩亚洲精品一区二区三区| 成人午夜在线影院| 不卡av电影院| 91av在线免费观看视频| 激情久久av一区av二区av三区| 午夜伦理精品一区| 亚洲人成电影网站色www| 欧美激情a∨在线视频播放| 欧美在线免费看| 亚洲精品av在线| 91精品国产综合久久久久久久久| 在线成人中文字幕| 在线精品播放av| 日韩中文字在线| 欧美精品在线第一页| 亚洲激情在线观看视频免费| 国产成人精品免费视频| 色先锋资源久久综合5566| 中文字幕国产日韩| 日韩小视频在线观看| 久久免费视频这里只有精品| 亚洲第一网站免费视频| 日韩欧美国产免费播放| 成人激情视频在线| 成人a视频在线观看| 色青青草原桃花久久综合| 日韩欧亚中文在线| 国产精品网站大全| 国产91精品青草社区| 日本亚洲欧洲色| 清纯唯美亚洲综合| 2019中文字幕在线| 精品久久久久久中文字幕一区奶水| 91免费人成网站在线观看18| 欧美性色视频在线| 精品成人69xx.xyz| 日韩电视剧在线观看免费网站| 久久夜色精品亚洲噜噜国产mv| 欧美性猛交xxxx| 日韩精品在线观看一区| 国产欧美va欧美va香蕉在线| 国产精品手机播放| 久久亚洲精品一区二区| 亚洲在线第一页| 国产精品国产三级国产aⅴ浪潮| 精品女同一区二区三区在线播放| 911国产网站尤物在线观看| 亚洲jizzjizz日本少妇| 亚洲一区久久久| 欧美成人激情在线| 国产精品久久久av| 亚洲一区二区少妇| 精品亚洲永久免费精品| 欧美视频在线看| 亚洲欧洲日产国产网站| 亚洲美女动态图120秒| 91免费福利视频| 亚洲国产高清福利视频| 国产精品专区一| 成人性生交大片免费观看嘿嘿视频| 在线性视频日韩欧美| 中文字幕在线日韩| 国产欧美婷婷中文| 精品日韩中文字幕| 日本精品久久电影| 国产精品18久久久久久麻辣| 欧美激情第一页xxx| 岛国av午夜精品| 91在线精品视频| 久久久久久中文字幕| 自拍偷拍亚洲区| 日韩中文字幕在线视频| 亚洲国产小视频在线观看| 亚洲电影在线观看| 午夜精品99久久免费| 久久精品色欧美aⅴ一区二区| 亚洲精品视频播放| 爽爽爽爽爽爽爽成人免费观看| 亚洲国产精品字幕| 亚洲自拍另类欧美丝袜| 国产精品海角社区在线观看| 日韩av电影在线免费播放| 亚洲激情中文字幕| 国语自产精品视频在免费| 亚洲毛片在线看| 成人动漫网站在线观看| 亚洲午夜未满十八勿入免费观看全集| 亚洲人成在线一二| 精品国偷自产在线视频| 国产精品一区二区三区毛片淫片| 久久精品91久久久久久再现| 成人女保姆的销魂服务| 欧美国产亚洲精品久久久8v| 日韩视频免费大全中文字幕| 欧美午夜www高清视频| 亚洲天堂网在线观看| 日韩亚洲国产中文字幕| 亚洲欧美变态国产另类| 日韩在线欧美在线| 亚洲精品乱码久久久久久金桔影视| 亚洲最大福利视频| 中文字幕精品久久| 丝袜美腿亚洲一区二区| 欧美乱大交xxxxx| 精品中文字幕在线2019| 久久成人精品一区二区三区| 日韩大片免费观看视频播放| 欧美一级片在线播放| 欧美黑人xxxx| 欧美精品久久久久久久免费观看| 欧美一级在线播放| 欧美亚洲另类在线| 亚洲国产欧美一区二区三区同亚洲| 亚洲国产另类 国产精品国产免费| 欧美日韩国产精品| 欧美电影在线免费观看网站| 欧美性生活大片免费观看网址| 日韩免费在线免费观看| 久久精品亚洲热| 成人精品视频99在线观看免费| 国产亚洲精品成人av久久ww| 亚洲一区二区精品| 欧美黄色三级网站| 久久精品视频在线播放| 欧美高清性猛交| 日本精品免费一区二区三区| 亚洲一区www| 亚洲美女av在线|