主要是查詢的時候 本來時間就比較緊 查詢的時候直接暴力二分求答案 超時
看了下別人** 主要是find的時候要直接find速度快了很多
#include#include#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
const int n=100000;
using namespace std;
int sum[n<<3],ans,n,op,l,r,m,k,mid;
void pushup(int rt)
void update(int p,int add,int l,int r,int rt)
int mid=(l+r)/2;
if(p<=mid) update(p,add,lson);
else update(p,add,rson);
pushup(rt);
}int query(int l,int r,int l,int r,int rt)
int find_rt(int t,int l,int r,int rt)
return find_rt(t,lson);
}int main()
else if(op==1)
else if(op==2)}}
return 0;
}
hdu 2852 樹狀陣列
在基礎上加了二分查詢 include include include using namespace std define m 100005 int n,a m int flage int lowbit int i void update int i,int val int sum int i re...
hdu 2852 樹狀陣列
擦 這題 絕逼 坑人 一波n折。touch me 我一開始 用了最簡單 最sb的 一維hash陣列 來做 我看時間2000ms最大數才10w 還以為能過的 果斷tle了 然後 就覺得應該用更高效的資料結構來做了 我去問下了下porker 他一開始和我提了下 splay 不會啊 然後 說 樹狀陣列 查...
線段樹單點更新hdu1166
學習自 先序建子樹,然後回溯建立父節點 更新時先遞迴更新子節點,然後再回溯更新父節點 回溯思想很重要 include using namespace std const int maxn 50005 int sum maxn 2 void build int l,int r,int rt void ...