暑假提高組集訓Day1 T2

2022-05-12 21:46:34 字數 2214 閱讀 3012

那麼這一道題我在考試的時候寫掛了(0分 嗚嗚~)

我原來的思路是廣搜來騙取部分分(哈哈~)

但是我忘記了乙個非常重要的問題

我廣搜開的陣列沒有考慮負的下標

下一次考試如果再寫暴力

就可以把座標都加上乙個數就行了~

那麼這一道題 n<=10^6  每乙個點的座標在 ±10^18次方之間

那麼這個資料範圍就很尷尬了

廣搜深搜。。。都肯定不行!

那麼應該咋辦呢??

我們來想一下

假如要從 (sx,sy) 走到 (ex,ey)

移動分為被動和主動

其實只要主動走的方向和被動走的方向是正好相反的

那麼醉漢就待在原地不動了

也就是說

假如醉漢到家的最短時間是t

那麼t+1他也同樣能到家

t+2 t+3 t+4....只要醉漢想待下去,就可以一直待在原地

我們來看乙個數軸

t往右的都可以往左的則不行

這就滿足了可二分性

可以進行二分答案

10^18 二分也就最多30次

當然不超時咯,很快就會出答案

那麼每乙個時間怎麼來判斷它是不是成立呢

首先從起點到終點我們可以算乙個曼哈頓距離

然後醉漢的移動是有週期的

比如sszx

那麼乙個週期下來相當於向上移動了一格,向左移動了一格

t/n的就可以直接計算出來

t%n的就直接模擬一下就行了

二分答案在確定當前列舉的步數t是否成立時,可以先把原座標被動移動後的新座標求出來 然後再求曼哈頓距離,判斷是否小於等於t

加油~

/*

那麼這一道題我在考試的時候寫掛了(0分 嗚嗚~)

我原來的思路是廣搜來騙取部分分(哈哈~)

但是我忘記了乙個非常重要的問題

我廣搜開的陣列沒有考慮負的下標

下一次考試如果再寫暴力

就可以把座標都加上乙個數就行了~

那麼這一道題 n<=10^6 每乙個點的座標在 ±10^18次方之間

那麼這個資料範圍就很尷尬了

廣搜深搜。。。都肯定不行!

那麼應該咋辦呢??

我們來想一下

假如要從 (sx,sy) 走到 (ex,ey)

移動分為被動和主動

其實只要主動走的方向和被動走的方向是正好相反的

那麼醉漢就待在原地不動了

也就是說

假如醉漢到家的最短時間是t

那麼t+1他也同樣能到家

t+2 t+3 t+4....只要醉漢想待下去,就可以一直待在原地

我們來看乙個數軸

t往右的都可以往左的則不行

這就滿足了可二分性

可以進行二分答案

10^18 二分也就最多30次

當然不超時咯,很快就會出答案

那麼每乙個時間怎麼來判斷它是不是成立呢

首先從起點到終點我們可以算乙個曼哈頓距離

然後醉漢的移動是有週期的

比如sszx

那麼乙個週期下來相當於向上移動了一格,向左移動了一格

t/n的就可以直接計算出來

t%n的就直接模擬一下就行了

二分答案在確定當前列舉的步數t是否成立時,可以先把原座標被動移動後的新座標求出來 然後再求曼哈頓距離,判斷是否小於t

加油~*/

#include

using

namespace

std;

string

s;int

movx,movy;

long

long

sx,sy,ex,ey;

intn;

int check(long

long

t) x+=movx;

y+=movy;

ans+=abs(ex-x);

ans+=abs(ey-y);

if(ans<=t)

return1;

return0;

}void

turning()

}int

main()

else

l=mid+1

; }

if(flag==0

) cout

<

return0;

}

NOIP2012提高組Day1T2 國王遊戲

國王遊戲 描述恰逢 h 國國慶,國王邀請 n 位大臣來玩乙個有獎遊戲。首先,他讓每個大臣在左 右手上面分別寫下乙個整數,國王自己也在左 右手上各寫乙個整數。然後,讓這 n 位大臣排成一排,國王站在隊伍的最前面。排好隊後,所有的大臣都會獲得國王獎賞的若干金幣,每位大臣獲得的金幣數分別是 排在該大臣前面...

D班集訓day1t2 道路分組(貪心)

比較簡單的一道題。因為分組必須連續,故可以直接貪心。能加則加,不能加則不加,更新可以用類似於增廣的思想去做 include using namespace std define rep i,j,k for int i j i k i define repp i,j,k for int i j i k...

暑假集訓 Day5 T1 羊圈

時間限制 1 sec 記憶體限制 512 mb 題目描述 zyc的農場有n 1 n 100,000 塊連續的區域排成一排,每塊區域上都有確定數量的羊 每塊區域不超過2000千隻 現在zyc想要將一些區域用圍牆圍起來,作為資訊社的優秀成員,當然要給自己出點難題 他希望圍起來的區域裡羊的總數 區域數的值...