個人賽3 倒數第二題

2021-08-07 14:39:01 字數 1985 閱讀 2393

cc 還非常喜歡探索世界,他給了你一張 n×nn \times nn×n 的地形圖,希望從 (1,1)(1,1)(1,1) 點到達 (n,n)(n,n)(n,n) 點。

cc 可以從當前位置上下左右移動到達相鄰格仔,但 cc 不喜歡多餘的運動,他希望行走路線盡可能平坦。(路線平坦度的定義為路線中海拔最高點與最低點之差)

請你幫 cc 計算出一條最平坦的路線的平坦度。

2

21 2

2 14

1 8 7 9

1 1 1 1

2 2 2 1

9 7 6 1

解題報告:

直接做不好統計,不妨反過來做。

o(2002)o(200^2)o(200​2​​) 列舉上下界限,然後在原圖上跑 bfs 判斷

更優秀的做法是列舉下界,二分上界,可以把複雜度降為 o(200log200k)o(200log200 k)o(200log200k)

比標程更優秀的方法是二分答案,然後列舉下界去跑 bfs

一定要用二分+ 列舉上下界寫。。

自己想的最短路是錯的。。

#include

using

namespace

std;

#define sf scanf

#define pf printf

#define mem(a,b) memset(a,b,sizeof(a));

#define rep(i,a,b) for(int i=(a);i<=(b);++i)

#define mp make_pair

#define ull unsigned long long

#define ll long long

#define inf 0x3f3f3f3f

#define md ((ll+rr)>>1)

#define ls (i<<1)

#define rs (ls|1)

#define eps 1e-5

#define n 200

#define ree freopen("in.txt","r",stdin);

#define bug pf("----------------");

typedef pair pii;

//2023年08月31日08:38:57

int n;

int a[n][n];

bool vis[n][n];

int dx[4]=;

int dy[4]=;

//inline int min(int a,int b)

bool dfs(int mi,int ma,int x,int y)

return

false;

}bool bfs(int mi,int ma,int aa,int bb)

vis[aa][bb]=true;

while(!q.empty())

}return

false;

}int ans;

bool judge(int mid)

return

false;

}void find(int l,int r)

}int main() }

ans=inf;

find(abs(a[1][1]-a[n][n]),ma-mi);

//for(int i=0;i<=a[1][1];++i)

//if(bfs(i,mid,1,1))

//else l=mid+1;

//}//if(cnt!=-1) ans=min(ans,cnt-i);

//}//for(int i=mi;i<=ma;++i)

//if(bfs(i,j,1,1))ans=min(ans,j-i);

//}//}

pf("%d\n",ans);

}}

暑期個人賽 第二場 A

時間限制 1000 ms 記憶體限制 65536 kb 丁神要去google上班了,去之前丁神想再做一道水題,但時間不多了,所以他希望題目做起來既水又快。現在一共有 n 道題,編號從1到 n 每道題有兩個值 a 和 b a 為做這道題需要的時間,b 為題目的 水值 丁神希望做b a 最大的那題。輸入...

暑期個人賽 第二場 C

時間限制 1000 ms 記憶體限制 65536 kb 現有一段橫向長度為n的山脈,其中每段有乙個獨一無二的高度hi 1到n之間的正整數 現在你想知道對於長度為n的山脈,可能有這樣的山脈多少種。這樣的山脈是 某個位置要麼比兩邊的高度都低,要麼比兩邊的高度都高。兩座山脈 a和 b 不同當且僅當存在乙個...

個人賽 A 題 傳球遊戲(ball)

description 上體育課的時候,小蠻的老師經常帶著同學們一起做遊戲。這次,老師帶著同學們一起做傳球遊戲。遊戲規則是這樣的 n個同學站成乙個圓圈,其中的乙個同學手裡拿著乙個球,當老師吹哨子時開始傳球,每個同學可以把球傳給自己左右的兩個同學中的乙個 左右任意 當老師在此吹哨子時,傳球停止,此時,...