ZOJ 2849 瞎暴力的搜尋

2021-07-29 15:42:00 字數 842 閱讀 9964

思路:

靠評測機抖一抖的思路:

拿個佇列維護一下符合型別的可以搜尋(指四周還存在可以遍歷的點)的點。然後暴力搜尋,所以問題來了,這個暴力搜尋會大大地重複遍歷次數。

dfs遍歷圖以前一直忽略重複,以為搜到打個標記複雜度就很棒棒了,其實還是有一堆重複。

這個思路的**見第乙份。

正解:那麼問題就很明顯了,為了減少遍歷次數,所以我們bfs,每次僅遍歷附近四個,然後拿優先佇列維護天數小的,型別小的,這樣複雜度僅僅是多了個log,減少了很多重複遍歷次數。

第乙份**:

#include #include #include #include #include #include #include #include using namespace std;

#define ll long long

const int inf = 0x3f3f3f3f;

const int n = 250010;

struct asdq[n];

int num;

bool cmp(asd a,asd b)

bool check(int x,int y)

}return false;

}void init()

void dfs(asd now)

continue;

}type[xx][yy]=now.tp;

nex.day=now.day;

nex.x=xx;nex.y=yy;

nex.tp=now.tp;

dfs(nex);

}}int main()}}

sort(q,q+num,cmp);

for(int i=0;i

loj517 計算幾何瞎暴力

在序列上維護4個操作 1.在序列的尾端新增x 2.輸出al ar的和 3.將所有數異或x 4.將序列從小到大排序 第一眼看上去是splay於是頭鐵硬剛了一發 後來發現splay沒法異或 然後看到了trie樹 學習了乙個 1.直接插到序列裡 2.考慮字首和 因為trie樹所管轄的下標區間是有序的,所以...

LOJ517 計算幾何瞎暴力

題目傳送門 分析 沒有操作4怎麼做?暴力維護陣列,加入就暴力加入,對於這些數維護二進位制下每一位1的個數的字首和,全域性異或打乙個標記,查詢的時候按位字首和作差就好了 現在有了操作4怎麼做?發現如果乙個字首已經排好了序,這個字首內部的順序就不再會被打亂了,考慮使用trie維護這個字首 對trie也打...

計算幾何你瞎暴力 玲瓏oj C語言

problem description 今天h考完了期末考試,他在教學樓裡閒逛,他看著教學樓裡一間間的教室,於是開始思考 如果從乙個座標為 x1,y1,z1 的教室走到 x2,y2,z2 的距離為 x1 x2 y1 y2 z1 z2 那麼有多少對教室之間的距離是不超過r的呢?input 第一行是乙個...