這真的是主席樹?
為什麼我認為是線段樹動態開點。。。
ok內容非常簡單
利用這個不知道是什麼的資料結構維護已刪除區間內比他小的數
這個反正是動態區間第k大的資料結構可過的
但是為什麼會在
update函式裡面寫!p呢?
這又不符合主席樹版本更新的思想。。。
後來思考了一下
因為主席樹做了差分。。。
不需要版本了
#includeusing namespace std;
typedef int int;
#define int long long
inline void read(int &x)
while(ch>='0'&&ch<='9')
x*=f;
}const int inf=1e9+7;
const int n=1e5+10;
int root[n]={};
int lson[n*20*4]={};
int rson[n*20*4]={};
int sum[n*20*4]={};
int tot=0;
//int n,m;
int val[n]={};
int pos[n]={};
int psum[n]={};
int ssum[n]={};
int ans=0;
//int t[n*10]={};
inline int lowbit(int x)
inline int query(int x)
void update(int &p,int l,int r,int val)
int a[n]={},b[n]={};
int querysuc(int x,int y,int val)
else
} return ret;
}int main()
memset(t,0,sizeof(t));
for(int i=n;i;i--)
for(int i=1;i<=m;i++)
}
省選專練SCOI2005掃雷
這是乙個智商檢測題 狀壓dp。如果你玩過掃雷,並且內心有一棵平衡樹 bb數 你就會發現答案只有0,1,2共計三種。於是法一 模擬。答案對不對只會取決於第乙個是什麼。模擬兩邊就好了。includeusing namespace std int i,j,k,m,n,ans 2,a 10001 b 100...
省選專練ZJOI2005午餐
這是個好題 考察dp優化,dp,貪心,01揹包變種。好首先對吃飯時間從大到小排序,因為一隊人打飯時長總和一樣。dp i,j 表示前i個人,第一組用j的時間。放第乙個揹包 dp i j min max dp i 1 j a i w j a i v 放第二個揹包 dp i j min max dp i ...
省選專練ZJOI2012旅遊
stl在開o2後自然是大水題。考點 樹的直徑。第一二次構圖。把每乙個三角塊相鄰的建邊。怎麼建?stl 你都做到這個題了map hash兩個值鐵定會吧。但是zjoi沒有那麼好心,不過你也有70分了。於是這樣 把兩點建邊。排個序。相同的時候連起來。樹的直徑。很多人求複雜了。樹的直徑一遍dfs就可以,不需...