軟體包管理器

2022-08-22 16:39:07 字數 1465 閱讀 3026

不舔題解(然而被prey安利了子樹修改用dfs序,,,碼的樹鏈剖分才是親生的樹鏈剖分(豪情壯志臉

明明「樹鏈剖分」四個字那麼長維薩不用縮寫呢——因為並不卵知縮寫到底是樹剖還是鏈剖啊啊啊

uoj128/bzoj4196

1 #include2 #include3

using

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 }

view code

軟體包管理器

軟體的關係形成一棵樹,安裝某軟體前必須安裝它依賴的軟體,解除安裝某軟體時必須解除安裝被它依賴的軟體,求解除安裝或安裝某軟體會影響多少軟體的狀態。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...