思路:
靠評測機抖一抖的思路:
拿個佇列維護一下符合型別的可以搜尋(指四周還存在可以遍歷的點)的點。然後暴力搜尋,所以問題來了,這個暴力搜尋會大大地重複遍歷次數。
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 第一行是乙個...