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

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

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

2019-11-14 08:45:56
字體:
來源:轉載
供稿:網友

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
亚洲一区免费网站| 欧美日韩国产综合视频在线观看中文| 不卡毛片在线看| 国产精品久久久久久久久免费| 91精品91久久久久久| 国产不卡一区二区在线播放| 亚洲a级在线播放观看| 久久手机精品视频| 日韩免费av片在线观看| 色琪琪综合男人的天堂aⅴ视频| 色与欲影视天天看综合网| 欧美日韩高清在线观看| 狠狠躁夜夜躁人人爽超碰91| 中文字幕一精品亚洲无线一区| 国产精品久久久久久久久粉嫩av| 国产男女猛烈无遮挡91| 欧美中文字幕在线播放| 欧美成年人视频| 久久人人爽人人爽人人片亚洲| 国产精欧美一区二区三区| 久久精品99久久香蕉国产色戒| 亚洲一二三在线| 国产精品99蜜臀久久不卡二区| 亚洲a在线观看| 欧美性xxxx极品高清hd直播| 欧美裸体xxxxx| 国产精品丝袜久久久久久不卡| www.久久久久| 欧美性生活大片免费观看网址| 在线中文字幕日韩| 国产精品99久久久久久白浆小说| 日本免费一区二区三区视频观看| 亚洲国产精品久久久久秋霞不卡| 亚洲最大福利视频| 97婷婷涩涩精品一区| 久久精品视频在线观看| 国产69精品久久久久99| 欧美大胆在线视频| 日韩亚洲欧美中文高清在线| 亚洲另类欧美自拍| 欧美性感美女h网站在线观看免费| 日日摸夜夜添一区| 日韩av第一页| 美女黄色丝袜一区| 国产精品久久久久久久久久久新郎| 欧美成人精品在线视频| 欧美一级片免费在线| 欧美黑人国产人伦爽爽爽| 国产精品视频永久免费播放| 国产亚洲视频中文字幕视频| 国产精品久久久久久久久久新婚| 国产精品白丝jk喷水视频一区| 国产一区二区三区中文| 成人在线精品视频| 亚洲免费人成在线视频观看| 日韩视频永久免费观看| 久久人人97超碰精品888| 欧美日韩激情小视频| 日韩欧美在线一区| 日韩美女毛茸茸| 亚洲精品久久久久久久久久久久| 一夜七次郎国产精品亚洲| 国产精品色婷婷视频| 亚洲影视九九影院在线观看| 国产精品亚洲第一区| 国产成人一区二区三区电影| 日韩精品免费在线观看| 色哟哟网站入口亚洲精品| 国产精品网红福利| 国产精品尤物福利片在线观看| 久久夜色撩人精品| 欧美日韩色婷婷| 国产v综合ⅴ日韩v欧美大片| 日韩精品一区二区视频| 欧美视频13p| 亚洲美女性生活视频| 91免费电影网站| 国产欧美精品va在线观看| 正在播放国产一区| 91高清视频免费观看| 亚洲激情成人网| 日韩精品电影网| 欧美日韩综合视频网址| 亚洲xxx视频| 欧美大码xxxx| 欧美中文在线观看国产| 久久久久久com| 午夜免费在线观看精品视频| 成人国产在线视频| 琪琪第一精品导航| 亚洲国产天堂久久综合网| 国产xxx69麻豆国语对白| 俺去亚洲欧洲欧美日韩| 在线观看久久av| 亚洲综合中文字幕在线观看| 国产日韩欧美中文| 日韩在线中文视频| 在线日韩日本国产亚洲| 亚洲成色777777在线观看影院| 亚洲欧美日韩国产中文| 日韩av电影在线播放| 91社区国产高清| 国产精品入口免费视频一| 亚洲aaaaaa| 亚洲乱码国产乱码精品精天堂| 国产一区二区三区视频| 久久精品国产v日韩v亚洲| 国产精品久久久久久久久久久久久久| 欧美成人黄色小视频| 亚洲乱码国产乱码精品精天堂| 在线视频一区二区| 亚洲午夜未删减在线观看| 国产精品久久久久久久app| 国产日本欧美在线观看| 最近2019年日本中文免费字幕| 亚洲白虎美女被爆操| 精品国产福利视频| 国产成人一区二区三区电影| 亚洲xxxx妇黄裸体| 成人免费自拍视频| 欧美激情一区二区三区在线视频观看| 国产啪精品视频网站| 国产在线拍揄自揄视频不卡99| 一个人看的www久久| 欧美亚洲日本网站| 久久久精品日本| 68精品国产免费久久久久久婷婷| 亚洲国产美女久久久久| 亚洲欧美日韩精品久久奇米色影视| zzjj国产精品一区二区| 久久久久久香蕉网| 久久国产加勒比精品无码| 正在播放亚洲1区| 亚洲老板91色精品久久| 久久精品国产亚洲| 国产精品免费视频久久久| 国产在线久久久| 亚洲综合中文字幕在线| 日韩乱码在线视频| 日韩精品中文在线观看| 中文国产成人精品久久一| 欧美极品欧美精品欧美视频| 色综合91久久精品中文字幕| 国产精品偷伦视频免费观看国产| 久久偷看各类女兵18女厕嘘嘘| 欧美丝袜美女中出在线| 精品国产1区2区| 日韩av在线网页| 亚洲精品一区二区久| 成人妇女免费播放久久久| 亚洲国产精品嫩草影院久久| 国产精品视频久久久| 在线精品播放av| 欧美午夜女人视频在线| 日韩国产激情在线| 96国产粉嫩美女| 欧美日韩亚洲国产一区| 亚洲社区在线观看| 在线亚洲午夜片av大片| 亚洲天堂免费视频| 奇米四色中文综合久久| 久久久久久久成人| 日韩电影第一页| 日韩成人av网址|