題面:
三道資料結構?
d:貪心,先按a排序,然後列舉刪了前i個a值比較小的,然後在剩下的裡面刪m-i個b小的,然後統計答案
用主席樹查b排名(m-i+1)或用堆維護b
#include#include堆#include
#include
#include
#define int long long
using
namespace
std;
const
int maxn=1e5+5
;int
read()
returnx;}
intt,n,m,ans;
struct
node
}sq[maxn];
priority_queue
q;signed main()
}printf(
"%lld\n
",ans);
}return0;
}
#include#include主席樹e:#include
#include
#define int long long
using
namespace
std;
const
int maxn=1e5+5
;int
read()
returnx;}
int t,n,m,ans,mx=0
;struct
node
}sq[maxn];
int root[maxn],tot=0
;struct
chairman_treetr[maxn
<<6
];void insert(int &now,int pre,int l,int r,int
pos)
int query(int x,int y,int l,int r,int
num)
signed main()
return0;
}
開始學***樹上樹
不難看出是在每個詢問點到所有詢問點的lca路徑上的前趨後繼,然後就打的測試點分治和暴力
新知識:樹上主席樹,維護每個節點到根的字首主席樹,然後區間查詢前趨後繼
查前趨:
當前mid比val大,去右區間查詢,但是會有一種情況:val等於mid+1,但主席樹中沒有mid+1,這時特判一下去找左區間
後繼同理
#include#include#include#include#define int long longusing namespace std;
int read()
return x;
}const int maxn=1e5+5;
int n,q,typ,a[maxn],ans=0,p[maxn],b[maxn],mx;
int to[maxn<<1],nxt[maxn<<1],pre[maxn],cnt=0;
void add(int u,int v)
int root[maxn],tot=0;
struct nodetr[maxn<<6];
void insert(int &now,int pre,int l,int r,int val)
int get_pre(int x,int y,int l,int r,int val)else res=get_pre(tr[x].ls,tr[y].ls,l,mid,val);
return res;
}int get_nxt(int x,int y,int l,int r,int val)else res=get_nxt(tr[x].rs,tr[y].rs,mid+1,r,val);
return res;
}int deep[maxn],fa[maxn],siz[maxn],son[maxn];
void dfs(int x)
signed main(){
n=read(),q=read(),typ=read();
for(int i=1;i<=n;++i) a[i]=read(),mx=max(mx,a[i]);
for(int i=1,u,v;if:
不會了,打的暴力樹狀陣列逆序對
CSP S模擬測試94 題解
高精硬上似乎跑不過,其實可以都取個 log 那麼只需要比較 y times log x 和 sum limits y log i 就好了。includeusing namespace std int t double x,y void work int main 顯然目標區間合法的充要條件是 把位置...
CSP S模擬測試69 題解
一如既往的垃圾,又回到了那個場場墊底的自己,明明考場上都想到正解了,但是就是拿不到分,可能是互奶把rp用光了吧以後一定加強訓練 能力。t1 考場上一直yy矩陣快速冪,雖然自己矩陣快速冪一點都不會還是硬著頭皮yy,發現不可做之後並沒有及時轉化思路,但其實自己預處理的陣列就是正解。切記 不僅矩陣快速冪是...
CSP S 模擬測試 51 題解
慣例先看一遍三道題,t1 一開始反應要求割點,但是這是有向圖,肯定不能求割點,康了一下資料範圍,有40 是樹的,還不錯,決定待會在打。看t2 字串題,完了我字串最弱了,肯定只能打暴力了,帶著前兩題都不會的心情,看了t3發現是期望,完了爆0了,在一看,發現是sb原題,還簡單一點,趕緊把t3碼了一遍過大...