Gym 101246J Buoys(三分查詢)

2022-06-20 21:24:10 字數 1264 閱讀 8389

題意:給定x軸上的n個點的座標,按順序從左到右給出,現在要使得每個點的間距相同,可以移動每個點的座標,但是不能改變點的相對順序。求總共最少需要移動多少距離和移動後點的座標。

思路:一開始想到用二分搜尋,然後列舉乙個點為不動點,但是這樣我不知道該怎麼去改變l、r的值了。。

仔細想想,這道題目所對應的模型圖應該是這樣的:

中間存在一點可以使移動距離最短,兩邊很大,因為間距設定的太小和太大都需要移動很多距離。這道題目可以用三分查詢做。

三分查詢是這樣的:

mid=(l+r)/2, mmid=(mid+r)/2

接下去去計算mid和mmid這兩個點所對應值,如果cla(mid)>cla(mmid),那麼l=mid,否則的話,r=mmid。

1 #include2 #include3 #include4 #include5 #include6 #include7 #include8 #include9 #include10 #include11

using

namespace

std;

12 typedef long

long

ll;13 typedef pairpll;

14const

int inf = 0x3f3f3f3f;15

const

int maxn=400+5;16

const

double eps=1e-10;17

18int

n;19

intx[maxn];

2021

double

min;

22double

ans[maxn];

23double

p[maxn];

2425

double solve(double

dis)

2637

for(int j=i+1;j<=n;j++)

3842

43if(tmp

4448

if(tmp

49 tmmp =tmp;50}

51return

tmmp;52}

5354

intmain()

5577

78 printf("

%.4f\n

",min);

79for(int i=1;i<=n;i++)

8083}84

return0;

85 }

gym初級 初始gym環境(二)

import gym env gym.make cartpole v0 print env.action space print env.observation space 輸出結果為 discrete 2 box 4,意思是動作空間中的動作是離散 discrete 的2個動作,狀態空間中的狀態是4...

gym訓練記錄

upd 12.18 老年選手也該看看歐洲的acm了,不然以後就再也沒有機會了 problem a 挺牛逼的結論,與y軸平行的直線最多隻會經過 o log c 個點,拿乙個線段樹維護一下每個x對應哪些圓即可。複雜度 o n log n log c o n problem b 對每種圖討論即可 prob...

微星GS60 UHD 10 12 4 黑蘋果教程

4k補丁 6代i7本教程 mac關機後重啟問題 在clover acpi頁面勾選fixshutdown usb驅動usb遮蓋器 usbinjectall.kext bcm94352z wifi 藍芽驅動 wifi kernel and kext patches fakepciid broadcom ...