摘要:
https://www.luogu.com.cn/problem/P3345 虽然带有边权,但是树的重心与未带边权时的重心毫无区别的,因为边权为正时树的重心与边权无关。 证明: 设不带边权时树的重心为$rt$ \(S(rt)=\sum_{v} w_{x,v} \times val_v\) 假设转移到 阅读全文
摘要:
https://www.luogu.com.cn/problem/P5024 动态DP $f_{u,0}$表示以$u$为根的子树中,$u$不取的最小开销 $f_{u,1}$表示以$u$为根的子树中,$u$必取的最小开销 $g_{u,0}$表示以$u$为根的子树中,不取重儿子,且$u$不取的最小开销 阅读全文
摘要:
https://www.luogu.com.cn/problem/P2586 模拟 按题意模拟 注意点: $1.$判断激光是否会打到其他蚂蚁的判断要小心(计算几何基础都不扎实),实际上我的的代码中不是很科学,应当算出与直线与圆的交点然后判断,而我直接判断圆心是否夹在线段的两个端点中间,但是在本题中, 阅读全文
摘要:
KM算法 KM算法用来解决二分图最大权完美匹配问题,是对匈牙利算法算法的改进 具体思路是,假设左边的节点有一个顶标$ex_i$,右边的节点有一个顶标$ey_i$ 我们要求顶标对于任意一条边,满足$ex_i+ey_j \ge w_{i,j}$,当$ex_i+ey_j=w_{i,j}$,可以连接边$ed 阅读全文
摘要:
方法一:bat版本 建一个.bat文件 输入下面的代码(文件名自行修改,$make.exe$代表造数据文件,$1.exe,2.exe$表示相关要比较的程序) :loop make.exe 1.exe 2.exe fc 1.out 2.out /W if %errorlevel%==1 pause g 阅读全文
摘要:
一般$NOIP$时栈空间与内存空间一样大,但是编译器一般只开有$8MB$的栈空间,以致递归过度会导致爆栈 所以我们可以再$vscode$终端中敲入ulimit -s X $X$为栈空间大小(例:$X=128000=125*1024$时,栈空间为$125MB$) 阅读全文
摘要:
$Linux$对拍标准代码 #include<bits/stdc++.h> using namespace std; int main(){ int i; for (i=1;;i++){ printf("The result of No. %d Case is: ",i); system("./da 阅读全文
摘要:
匈牙利算法 匈牙利算法是基于寻找增广路进行的匹配,一条增广路是当然是一条真实存在的路径,由未匹配点开始,以未匹配点结束,匹配点与未匹配点交替出现,这样一条增广路可以让原问题的答案加$1$(把匹配边与未匹配边反一反也是合法答案,同时答案更大),具体可以参考这篇博客 所以我们枚举每一个点,去寻找增广路, 阅读全文
摘要:
https://www.luogu.com.cn/problem/P4751 动态DP 树剖的动态DP做法见此,动态DP原理也再里面,这篇博客就不写了:树剖动态DP 由于树剖时间复杂度为$O(n \log^2 n)$,会被这道题卡,所以我们需要全局平衡二叉树 全局平衡二叉树类似$LCT$,有虚实边之 阅读全文
摘要:
https://www.luogu.com.cn/problem/P5512 搜索 考虑最简单的搜索,数字从小到大开始搜索 首先,搜索第一行第一列,然后逐个$(2,2),(2,3),\cdots,(2,n),(3,2),(3,3),\cdots,(n,n)$搜索 预处理$t_{i,j}$表示$i,j 阅读全文