codeforces 588e duff in the army
西安邀請賽網路賽j的公升級版本,要求輸出具體的方案,這題就沒辦法離線水過去了。對dfs序建乙個主席樹,那麼對於每個詢問答案就是\(sum[u]+sum[v]-sum[lca(u,v)]-sum[fa[lca(u,v)]]\)
之後就不難了,實現起來比較複雜,不過寫的蠻快的,wa了之後掃了一下主席樹感覺沒什麼問題,就掃了一眼lca 發現最後求lca的部分寫錯了。
#include using namespace std;
#define dd(x) cout<<#x<<"="typedef pair pi;
int dep[maxn], f[maxn][32],cnt, t[maxn];
int n, m, q;
vector num[maxn], v[maxn];
vector ans;
struct node
}t[maxn<<6];
void update(int pre,int &now,int l,int r,int pos)
void dfs(int x,int p,int d)
int lca(int u,int v)
void qr(int x,int y,int z,int d,int l,int r,int k)
int mid = l+r >> 1;
if(sl>=k) qr(t[x].l,t[y].l,t[z].l,t[d].l,l,mid,k);
else
}int main()
rep(i,0,m)
dfs(1,1,0);
rep(i,0,q)
return 0;
}
codeforces 173E 組隊 線段樹 離線
bsny所在的精靈社群有n個居民,每個居民有一定的地位和年齡,ri表示第i個人的地位,ai表示第i個人的年齡。最近社群裡要舉行活動,要求幾個人分成乙個小組,小組中必須要有乙個隊長,要成為隊長有這樣的條件 1 隊長在小組中的地位應該是最高的 可以並列第一 2 小組中其他成員的年齡和隊長的年齡差距不能超...
codeforces 734E 樹的最大直徑
題意 給出乙個樹,每個節點有一種顏色.每次能夠選中乙個節點,其他的點如果到它的路徑上都是這種顏色那麼可以一起改變顏色.問最少需要改變幾次顏色.先按照顏色縮點,然後答案就是縮點之後樹的最大直徑,直接dp即可.include include include include include include...
Codeforces 976E 題解報告
1 當把所有的倍數2 a都加到同一health上,health增加的最多 2 先計算每乙個creature的hp dmg,按該值對所有的creature排序 再求和,i include using namespace std const int n 200 1000 9 int hp n dmg n...