不舔題解(然而被prey安利了子樹修改用dfs序,,,碼的樹鏈剖分才是親生的樹鏈剖分(豪情壯志臉
明明「樹鏈剖分」四個字那麼長維薩不用縮寫呢——因為並不卵知縮寫到底是樹剖還是鏈剖啊啊啊
uoj128/bzoj4196
1 #include2 #include3view codeusing
namespace
std;45
#define maxn 100005
6struct
nodetree[maxn<<2];9
intcnt,v[maxn],next[maxn],first[maxn];
10int nn,size[maxn],son[maxn],dep[maxn],in[maxn],out
[maxn],fa[maxn],top[maxn];
11void add(int st,int
end)
16void dfs(int
sss)25}
26void build(int sss,int
anc)
33void haha(int rt,int l,int
r)42
int len(int
rt)45
void push_down(int
rt)52}53
int query(int rt,int ql,int
qr)62
void update(int rt,int ql,int qr,int
x)68
push_down(rt);
69int mid=(tree[rt].l+tree[rt].r)>>1;70
if(ql<=mid)update(rt<<1
,ql,qr,x);
71if(qr>mid)update(rt<<1|1
,ql,qr,x);
72 tree[rt].sum=tree[rt<<1].sum+tree[rt<<1|1
].sum;73}
74int install(int
vb)82
if(dep[va]
83 ans+=(in[va]-in[vb]+1)-query(1,in[vb],in
[va]);
84 update(1,in[vb],in[va],1
);85
return
ans;86}
87int uninstall(int
x)92
intmain()
100 dfs(0);build(0,0
);101 scanf("
%d",&m);
102 haha(1,1
,nn);
103for(int i=1;i<=m;i++)
109return0;
110 }
軟體包管理器
軟體的關係形成一棵樹,安裝某軟體前必須安裝它依賴的軟體,解除安裝某軟體時必須解除安裝被它依賴的軟體,求解除安裝或安裝某軟體會影響多少軟體的狀態。include using namespace std const int n 1e5 10 int nxt n 1 to n 1 tot,head n v...
YUM軟體包管理器
yum在redhat下需要註冊redhat官網的訂閱賬號,並購買其訂閱服務才可以進行更行的,而對於fedora和ceontos等系統則是可以免費使用的,所以如果是中小型企業中的linux伺服器建議使用centos系統,可以減少企業在伺服器上的開銷。格式 yum options command pac...
linux rpm軟體包管理器
rpm包 的 查詢命令 選項英文 含義 q query 查詢 a all所有 iinfo 資訊 l list 顯示所有相關檔案 ffile 檔案,顯示檔案對應 rpm 包 rpm qa grep rpm qa less rpm qi 軟體全包名rpm ql 軟體全包名rpm qf 檔案的全路徑rpm...