POJ 2110 二分 暴搜

2022-04-30 11:12:11 字數 944 閱讀 3122

題意:

給你乙個矩陣 ,你能往各個方向走(不走出去就行),每次只能上下左右走一格,問路徑上的點權最大值和最小值的差最小是多少。

思路:

首先 二分最後的答案,

暴力列舉當前的區間是啥。

dfs 就ok 了

(我的**可能有點兒小問題…… 列舉的時候沒有判左上角的點)

(但是ac了哈哈哈)

//by siriusren

#include

#include

#include

using

namespace

std;

int n,map[105][105],a[105][105],maxx=0,minn=120,right,left,mid,ans;

int xx=,yy=;

bool vis[105][105];

bool dfs(int x,int y,int maxx,int minn)

else

if(a[x+xx[i]][y+yy[i]]if(dfs(x+xx[i],y+yy[i],maxx,a[x+xx[i]][y+yy[i]]))return

1; }

else

if(a[x+xx[i]][y+yy[i]]>=minn&&a[x+xx[i]][y+yy[i]]<=maxx)}}

return0;}

int main()

}right=100;left=0;

while(left<=right)}}

if(dfs(1,1,map[1][1],map[1][1]))f=1;

}if(f)right=mid-1,ans=mid;

else left=mid+1;

}printf("%d\n",ans);

}

poj 1759 二分搜線性

題意 有n個燈泡,每個燈泡距離地面高度為hi,現在給了第乙個燈泡的高度a。求最後乙個燈泡的高度b的最大值。解析 這題剛看這怎麼能二分啊.其實是第二個燈泡和最後的高度b是成正相關的,所以去二分猜測第二個燈泡的高度。若第二個燈泡的高度能讓之後的每乙個燈泡高度都大於0,則這個高度是ok的,可以繼續增大。i...

POJ 1064 保證精度二分搜答案

儲存一下思路。思路很簡單就是二分找答案,每次找到乙個值,判斷一下是否可以滿足剪得個數大於等於k,然後一直找下去。主要是這裡for i,0,100 這裡最開始一直卡住了,不知道設定什麼,100就已經可以到10 30了,對於二的精度來說已經完全足夠了。然後就是輸出,一定要注意兩位小數直接pinrtf 2...

二分搜素演算法

二分搜尋演算法的三種情況 推薦部落格,真的寫的非常好!1 當陣列中沒有重複元素時 public int binarysearchimplement int array,int target else if array mid target else if flag return index else...