省選專練CQOI2016動態逆序對

2021-08-20 12:37:05 字數 1079 閱讀 4809

這真的是主席樹?

為什麼我認為是線段樹動態開點。。。

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就可以,不需...