日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【BZOJ3242】【UOJ#126】【NOI2013】快餐店

發布時間:2025/3/21 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【BZOJ3242】【UOJ#126】【NOI2013】快餐店 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

NOI都是這種難度的題怎么玩嘛QAQ

原題:

小T打算在城市C開設一家外送快餐店。送餐到某一個地點的時間與外賣店到該地點之間最短路徑長度是成正比的,小T希望快餐店的地址選在離最遠的顧客距離最近的地方。 快餐店的顧客分布在城市C的N 個建筑中,這N 個建筑通過恰好N 條雙向道路連接起來,不存在任何兩條道路連接了相同的兩個建筑。任意兩個建筑之間至少存在一條由雙向道路連接而成的路徑。小T的快餐店可以開設在任一建筑中,也可以開設在任意一條道路的某個位置上(該位置與道路兩端的建筑的距離不一定是整數)。 現給定城市C的地圖(道路分布及其長度),請找出最佳的快餐店選址,輸出其與最遠的顧客之間的距離。?

N<=10^5,Li<=10^9

?

恩題解比較好理解但是比較難想到……

首先答案不一定是圖上的半徑,比如醬:

因為有環,所以圖上直徑的中點到其它所有點距離的最大值可能比半徑還要大,這個時候半徑就不是最優值

然后顯然答案是環上刪去某邊后樹的直徑,這個寫n^2算法的時候會用到

然后dfs找出環,對環上每個點令其為根求出高度及直徑

然后順著掃一遍,每次記錄前面所有環上邊的和sum,當前節點子樹高度和sum的和的最大值f1,(前面深度最大和次大子樹的深度的和)和這兩個子樹根節點之間的距離的和的最大值f2

然后反過來再搞一遍搞出f3和f4

統計答案即可,注意還有跨過環上第一個點和最后一個點之間的邊的情況,這個結合f1和f3就行

最后還要用環上所有點的子樹直徑的最大值更新ans(不知道為什么QAQ

NOI都是這種難度的題怎么玩嘛QAQ

代碼:

1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<cstring> 5 #include<cmath> 6 using namespace std; 7 #define ll long long 8 int rd(){int z=0,mk=1; char ch=getchar(); 9 while(ch<'0'||ch>'9'){if(ch=='-')mk=-1; ch=getchar();} 10 while(ch>='0'&&ch<='9'){z=(z<<3)+(z<<1)+ch-'0'; ch=getchar();} 11 return z*mk;} 12 struct edg{int nxt,y,v;}e[210000]; int lk[110000],ltp=0; 13 inline void ist(int x,int y,int z){ e[++ltp]=(edg){lk[x],y,z}; lk[x]=ltp;} 14 int n; 15 bool vstd[110000]; int stck[110000],tp=0,fthv[110000]; 16 int ccd[110000],cct=0,ccv[110000]; 17 ll dp[110000]; 18 ll f[110000],f1[110000],f2[110000],f3[110000],f4[110000]; 19 ll mxf=0; 20 bool gtcc(int x,int y){ 21 stck[++tp]=x; 22 if(vstd[x]){ 23 fill(vstd,vstd+1+n,false); 24 do vstd[ccd[++cct]=stck[tp]]=true,ccv[cct]=fthv[stck[tp--]];while(stck[tp]!=x); 25 return true;} 26 vstd[x]=true; 27 for(int i=lk[x];i;i=e[i].nxt)if(e[i].y!=y){ 28 fthv[e[i].y]=e[i].v; 29 if(gtcc(e[i].y,x)) return true;} 30 --tp; 31 return false;} 32 void gtdp(int x,int y){ 33 for(int i=lk[x];i;i=e[i].nxt)if(e[i].y!=y && !vstd[e[i].y]){ 34 dp[e[i].y]=dp[x]+e[i].v,gtdp(e[i].y,x); 35 mxf=max(mxf,f[x]+f[e[i].y]+e[i].v); 36 f[x]=max(f[x],f[e[i].y]+e[i].v);}} 37 int main(){//freopen("ddd.in","r",stdin); 38 int l,r,z; cin>>n; 39 for(int i=1;i<=n;++i) l=rd(),r=rd(),z=rd(),ist(l,r,z),ist(r,l,z); 40 if(!gtcc(1,0)) return 0; 41 for(int i=1;i<=cct;++i) gtdp(ccd[i],0); 42 ll bwl=0,mx=0,ans=0,tt=ccv[cct],tmp; ccv[cct]=0; 43 for(int i=1;i<=cct;++i){ 44 bwl+=ccv[i-1]; 45 f1[i]=max(f1[i-1],bwl+f[ccd[i]]); 46 f2[i]=max(f2[i-1],mx+bwl+f[ccd[i]]); 47 mx=max(mx,f[ccd[i]]-bwl);} 48 bwl=mx=0; 49 for(int i=cct;i>=1;--i){ 50 bwl+=ccv[i]; 51 f3[i]=max(f3[i+1],bwl+f[ccd[i]]); 52 f4[i]=max(f4[i+1],mx+bwl+f[ccd[i]]); 53 mx=max(mx,f[ccd[i]]-bwl);} 54 ans=f2[cct]; 55 for(int i=1;i<cct;++i){ 56 tmp=max(f1[i]+f3[i+1]+tt,max(f2[i],f4[i+1])); 57 ans=min(ans,tmp);} 58 ans=max(ans,mxf); 59 printf("%.1lf\n",ans*1.0/2); 60 return 0;} View Code

?

轉載于:https://www.cnblogs.com/JSL2018/p/6895415.html

總結

以上是生活随笔為你收集整理的【BZOJ3242】【UOJ#126】【NOI2013】快餐店的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久草福利资源在线 | 日韩欧美一区二区三区视频 | 三级黄色小视频 | 日韩欧美中文在线 | 日韩av激情| 在线免费看黄视频 | 日本丰满熟妇bbxbbxhd | 女人被狂躁60分钟视频 | 免费的黄色片 | 在线天堂www在线国语对白 | 日韩一区精品 | 最近中文字幕在线中文高清版 | 久草视频观看 | 欧美亚洲一区二区在线观看 | 国产精品久久久久久久久久久久久 | 香蕉钻洞视频 | 日韩毛片大全 | 深夜啪啪| 最新av导航 | 久久久无码人妻精品无码 | 成人先锋av | 国产欧美视频一区 | 777黄色 | 狠狠操狠狠操狠狠操 | av网页在线 | 精品久久一区 | 亚洲综合成人亚洲 | 老女人综合网 | 东京热毛片 | 探花视频在线版播放免费观看 | 国产主播一区二区 | xx色综合 | 欧美大尺度床戏做爰 | 免费观看视频一区二区 | 久久午夜精品 | 亚洲做受高潮 | 日韩www视频 | 久久在线精品视频 | 国产3区 | 亚洲精品久久久久avwww潮水 | 七仙女欲春2一级裸体片 | 秋霞中文字幕 | 国产18在线 | 草久在线视频 | 99综合| 欧美成人午夜免费视在线看片 | 国产一区二区h | 国产av天堂无码一区二区三区 | 国产婷 | a级国产毛片 | 亚洲一区二区三区影院 | 日韩怡春院 | 欧美午夜精品一区二区三区电影 | 全程偷拍露脸中年夫妇 | 国产a√精品区二区三区四区 | 日本三级吃奶头添泬无码苍井空 | 亚洲妇女av | 免费黄色av网址 | 真人一毛片 | 激情视频免费在线观看 | 色月婷婷 | 一区二区三区www污污污网站 | 欧美操穴| 欧美色淫 | 亚洲AV无码久久精品国产一区 | 国产精品久久久久久免费观看 | 亚洲五月激情 | 亚洲黄色网址大全 | 国产亚洲欧美日韩精品一区二区三区 | 青青青国内视频在线观看软件 | 在线观看视频二区 | 国产精品视频久久久久 | 亚洲日本韩国在线 | 91精品国产色综合久久不卡蜜臀 | 中文字母av | 黄色91免费观看 | 白白色免费视频 | 伊人免费在线观看 | 亚洲自拍成人 | 国产精品久久久久久久久晋中 | 成人午夜精品福利免费 | 国产精品国产三级国产 | 欧美午夜精品久久久久久孕妇 | bbbbbbbbb毛片大片按摩 | 色视频在线看 | 少妇影院在线观看 | 精品人妻无码一区二区 | 国产精品高潮呻吟久久 | av免费观看不卡 | 色婷婷亚洲一区二区三区 | 精品网站999www | 老版k8经典电影 | 天堂岛av| 中文成人在线 | 用舌头去添高潮无码视频 | 一级性生活黄色片 | 农村少妇无套内谢粗又长 | 国产精品久久久久桃色tv | 手机免费在线观看av |