目錄p2184 貪婪大陸
樹狀陣列的模板題
1.只要乙個區間的開頭在乙個節點\(i\)的左邊,那麼這個區間包含在區間\(1~i\)中。所以我們可以搞兩個樹狀陣列來做2.只要乙個區間的尾部在乙個節點\(j\)的左邊,那麼這個區間肯定不屬於\(j\)之後的所有區間
\(tree_[i]\)維護\(i\)之前的開頭數量
\(tree_[j]\)維護\(j\)之前的結尾數量
結合樣例可以看出來\(tree_[j]-tree_[i]\)即為i-j之間的雷種類數
樣例分析:
5 41 1 3
2 2 5
1 2 4
2 3 5
1假設要求2到3之間的雷種類數,可以看出\(tree_[1]=0\),\(head_[3]=2\),2
所以上述的結論成立
#include#include#include#include#include#include#include#include#include#include#define ll long long int
#define lowbit(x) x & -x
#define n 100000
using namespace std;
inline int read()
while(c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();
return x * f;
}int head_tree[n*2],tail_tree[n*2],n,m;
void update_head(int x)
}void update_tail(int x)
}int find_head(int x)
return res;
}int find_tail(int x)
return res;
}int main() else
} return 0;
}
P2184 貪婪大陸
題目描述面對螞蟻們的瘋狂進攻,小ff的tower defence宣告失敗 人類被螞蟻們逼到了greed island上的乙個海灣。現在,小ff的後方是一望無際的大海,前方是變異了的超級螞蟻。小ff還有大好前程,他可不想命喪於此,於是他派遣手下最後一批改造scv布置地雷以阻擋螞蟻們的進攻。小ff最後一...
P2184 貪婪大陸
看到全是線段樹或者樹狀陣列寫法,就來提供一發全網唯一cdq分治三維偏序解法吧 容易發現,這個題的查詢就是對於每個區間l,r,查詢有多少個修改區間li,ri與l,r有交集 轉化為數學語言,就是查詢滿足li r且ri l的修改個數 乙個二維偏序問題,但是我們發現,這是個動態插入的二維偏序問題 一時不知所...
P2184 貪婪大陸
面對螞蟻們的瘋狂進攻,小ff的tower defence宣告失敗 人類被螞蟻們逼到了greed island上的乙個海灣。現在,小ff的後方是一望無際的大海,前方是變異了的超級螞蟻。小ff還有大好前程,他可不想命喪於此,於是他派遣手下最後一批改造scv布置地雷以阻擋螞蟻們的進攻。小ff最後一道防線是...