直接抄ppt好了--来自lyd 注意只用对根判断是否哟留下儿子 #include<iostream> #include<cstdio> using namespace std; const int N=100005; long long n,ans,h[N],cnt,fa[N],dis[N],d1,d2,l1,l2,c1,at[N],bt[N],a[N],b[N],tota,totb,nw,tmp,g[N]; bool del[N]; struct qwe { long long…
边的处理(side.cpp) [问题描述] 有一个 n 个点的无向图,给出 m 条边,每条边的信息形如<x,y,c,r><x,y,c,r><x,y,c,r>. 给出 q 组询问形如<u,v,l,r><u,v,l,r><u,v,l,r>.接下来解释询问以及边的意义.询问表示,一开始你在点 u 上,然后按顺序处理编号从 l 到 r 的边. 对于一条边<x,y,c,r><x,y,c,r><x,y,c,r>…
[10.12模拟赛] 老大 题目描述 因为 OB 今年拿下 4 块金牌,学校赞助扩建劳模办公室为劳模办公室群,为了体现 OI 的特色,办公室群被设计成了树形(n 个点 n − 1 条边的无向连通图),由于新建的办公室太大以至于要将奖杯要分放在两个不同的地方以便同学们丢硬币进去开光,OB 想请你帮帮他看看奖杯放在哪两个办公室使得在任意一个在劳模办公室做题的小朋友能最快地找到奖杯来开光. 一句话题意:给出一个 n 个点的树,在两个合适且不同的点放上奖杯,使得每个点到最近的奖杯距离最大值最小. 输入…
题面 ⼩ w ⼼⾥的⽕焰就要被熄灭了. 简便起⻅,假设⼩ w 的内⼼是⼀棵 n − 1 条边,n 个节点的树. 现在你要在每个节点⾥放⼀些个灭⽕器,每个节点可以放任意多个. 接下来每个节点都要被分配给⼀个⾄多 k 条边远的灭⽕器,每个灭⽕器最多能分配给 s 个节 点. ⾄少要多少个灭⽕器才能让⼩ w 彻底死⼼呢? 题解 树形DP,由于k≤20k\le 20k≤20,用f[i][j]f[i][j]f[i][j]存iii这个点下面距离为jjj的未匹配点有多少个,g[i][j]g[i][j]g[i][…
题面 n n n 个点, m m m 条边. 1 ≤ n ≤ 1 0 5 , n − 1 ≤ m ≤ 2 × 1 0 5 1\leq n\leq 10^5,n-1\leq m\leq 2\times10^5 1≤n≤105,n−1≤m≤2×105 . 题解 直接求行列式是不现实的,我们可以通过行列式的定义式来思考解法. 一个会产生贡献的排列,相当于要每个点选一个邻接点当爹,每个点的爹必须不一样. 如果这个点度为 1,那么它和它的邻接点必须配对,然后相当于删掉了.同时这两个点使得该排列的贡献乘上…