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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

BZOJ3170: [Tjoi2013]松鼠聚会 - 暴力

發布時間:2023/12/18 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BZOJ3170: [Tjoi2013]松鼠聚会 - 暴力 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

描述

有N個小松鼠,它們的家用一個點x,y表示,兩個點的距離定義為:點(x,y)和它周圍的8個點即上下左右四個點和對角的四個點,距離為1。現在N個松鼠要走到一個松鼠家去,求走過的最短距離。

題解

簡直就是個高中數學題啊。。。蒟蒻數學不好,學不來嗚

松鼠$i $ 和 $j$ 的距離為$ \max{\left\vert X_i - X_j \right\vert,?\left\vert Y_i - Y_j\right\vert } $

但是我們不能在很短的時間內求出對于所有$i$和$j$ 的$\max$, 所以只能通過加絕對值讓$\max$去掉。

首先1.? $\max{a, b} = (\left\vert a + b\right\vert + \left\vert a - b\right\vert) \div 2$

并且 2.$ \left\vert \left\vert a\right\vert -?\left\vert b\right\vert \right\vert +?\left\vert \left\vert a\right\vert? +?\left\vert b\right\vert \right\vert? = \left\vert a - b\right\vert + \left\vert a + b\right\vert$

我們通過式子1算出$ \max{\left\vert X_i - X_j \right\vert,?\left\vert Y_i - Y_j\right\vert } ?= ( \left\vert \left\vert? X_i - X_j \right\vert -?\left\vert Y_i - Y_j\right\vert \right\vert +?\left\vert \left\vert X_i - X_j \right\vert? +?\left\vert Y_i - Y_j \right\vert \right\vert ) \div 2$

然后再通過2式就變成了 $( \left\vert ( X_i-Y_i ) - (X_j - Y_j) \right\vert +?\left\vert (X_i - Y_i)? + (X_j - Y_j) \right\vert) \div 2$

令$a_i = X_i - Y_i $ $b_i = X_i + Y_i$

算出所有的$\left\vert a_i? - a_j \right\vert?$ 和$\left\vert b_i - b_j\right\vert$ 再除 2, 取答案最小的$i$

算$\left\vert a_i? - a_j \right\vert?$ 時需要排序求前綴和計算。

?

打絕對值累死我了。。、

代碼

?

1 #include<cstring> 2 #include<cstdio> 3 #include<algorithm> 4 #define rd read() 5 #define ll long long 6 using namespace std; 7 8 const int N = 2e5; 9 10 ll sumx[N], sumy[N], n, ans = 1e18; 11 12 struct node { 13 ll x, y; 14 ll xx, yy; 15 ll disx, disy; 16 }a[N]; 17 18 ll read() { 19 ll X = 0, p = 1; char c = getchar(); 20 for(; c > '9' || c < '0'; c = getchar()) if(c == '-') p = -1; 21 for(; c >= '0' && c <= '9'; c = getchar()) X = X * 10 + c - '0'; 22 return X * p; 23 } 24 25 int cmpx(const node &A, const node &B ) { 26 return A.xx < B.xx; 27 } 28 29 int cmpy(const node &A, const node &B) { 30 return A.yy < B.yy; 31 } 32 33 int main() 34 { 35 n = rd; 36 for(int i = 1; i <= n; ++i) { 37 a[i].x = rd * 2; 38 a[i].y = rd * 2; 39 a[i].xx = (a[i].x + a[i].y) >> 1; 40 a[i].yy = (a[i].x - a[i].y) >> 1; 41 } 42 sort(a+1, a+1+n, cmpx); 43 for(int i = 1; i <= n; ++i) sumx[i] = sumx[i - 1] + a[i].xx; 44 for(int i = 1; i <= n; ++i) { 45 a[i].disx = a[i].xx * i - sumx[i]; 46 a[i].disx += sumx[n] - sumx[i] - (n - i) * a[i].xx; 47 } 48 sort(a+1, a+1+n, cmpy); 49 for(int i = 1; i <= n; ++i) sumy[i] = sumy[i - 1] + a[i].yy; 50 for(int i = 1; i <= n; ++i) { 51 a[i].disy = a[i].yy * i - sumy[i]; 52 a[i].disy += sumy[n] - sumy[i] - (n - i) * a[i].yy; 53 if(a[i].disy + a[i].disx < ans) ans = a[i].disx + a[i].disy; 54 } 55 printf("%lld\n", ans >> 1); 56 } View Code

?

轉載于:https://www.cnblogs.com/cychester/p/9522469.html

總結

以上是生活随笔為你收集整理的BZOJ3170: [Tjoi2013]松鼠聚会 - 暴力的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 99热日韩| 91视频在线观看视频 | 含羞草一区二区三区 | 国产影视一区二区 | 国产一级久久久 | 公车乳尖揉捏酥软呻吟 | 91国偷自产一区二区三区女王 | 色人天堂 | 亚洲日本色 | av一卡二卡 | 久久网址 | 午夜精品久久久久久99热 | 久久久少妇 | 黄色网页观看 | 蜜桃免费av| 搞黄网站在线观看 | 在线观看高清视频 | 国产69精品久久久久久久 | 四虎黄色影视 | 国产免费啪啪 | 日韩精品一区二区在线 | 相亲对象是问题学生动漫免费观看 | 韩国三级hd两男一女 | 欧美交换配乱吟粗大25p | 久久久黄色网 | 日本大尺度吃奶做爰久久久绯色 | 九九热视频精品 | 四虎一区二区 | 国产乱来 | 女女调教被c哭捆绑喷水百合 | 爱爱免费视频 | 综合av| 色妞www精品视频 | 男女扒开双腿猛进入爽爽免费 | 成人免费黄色av | 日本高清免费观看 | 第一av| 激情四射婷婷 | 色就是色亚洲色图 | 欧美视频免费看欧美视频 | 国产乱淫a∨片免费观看 | 午夜a级片 | 69av在线视频 | 亚洲第一视频网 | 在线久久| www.日本高清 | 青青av| 精品久久伊人 | 国产成人精品亚洲精品色欲 | 狠狠涩| av2014天堂网 | 欧美精品啪啪 | 成熟丰满熟妇高潮xxxxx视频 | 日韩狠狠 | 色妞综合网 | 丝袜脚交免费网站xx | 亚洲精品乱码久久久久久 | 2022天天操| 国产成人精品一区二区色戒 | 色老汉视频 | 美日韩黄色片 | 亚洲国产精品一区二区三区 | 亚洲一区二区三区四区在线 | 91在线视频免费看 | 国产福利在线视频观看 | k8经典成人理伦片 | 五月天婷婷导航 | 国产91成人| 天天插天天射 | 天堂网在线播放 | 欧美日韩一级片在线观看 | 中文字幕第8页 | 欧洲综合视频 | 综合久久影院 | 亚洲综合中文字幕在线 | 俺去久久| 毛片视| 手机在线小视频 | 成人午夜福利一区二区 | 亚洲热在线观看 | 国产黄色大片免费看 | 国产亚洲片 | 香蕉视频18 | 欧美亚洲视频一区 | 国产福利一区二区三区 | 青青青免费视频观看在线 | 亚洲精品在线影院 | 国产色a | 波多野结衣一区二区三区在线 | 国产美女精品一区二区三区 | 小日子的在线观看免费第8集 | 在线观看亚洲色图 | 91嫩草香蕉 | 免费看操片| 欧美激情第五页 | av在线播放网址 | 亚洲天堂二区 | 欧美日韩一区三区 | 婷婷视频在线观看 |