09 2020 档案

摘要:https://www.luogu.com.cn/problem/P5024 动态DP $f_{u,0}$表示以$u$为根的子树中,$u$不取的最小开销 $f_{u,1}$表示以$u$为根的子树中,$u$必取的最小开销 $g_{u,0}$表示以$u$为根的子树中,不取重儿子,且$u$不取的最小开销 阅读全文
posted @ 2020-09-18 20:18 GK0328 阅读(155) 评论(0) 推荐(0)
摘要:https://www.luogu.com.cn/problem/P2586 模拟 按题意模拟 注意点: $1.$判断激光是否会打到其他蚂蚁的判断要小心(计算几何基础都不扎实),实际上我的的代码中不是很科学,应当算出与直线与圆的交点然后判断,而我直接判断圆心是否夹在线段的两个端点中间,但是在本题中, 阅读全文
posted @ 2020-09-18 19:06 GK0328 阅读(283) 评论(0) 推荐(0)
摘要:KM算法 KM算法用来解决二分图最大权完美匹配问题,是对匈牙利算法算法的改进 具体思路是,假设左边的节点有一个顶标$ex_i$,右边的节点有一个顶标$ey_i$ 我们要求顶标对于任意一条边,满足$ex_i+ey_j \ge w_{i,j}$,当$ex_i+ey_j=w_{i,j}$,可以连接边$ed 阅读全文
posted @ 2020-09-15 18:17 GK0328 阅读(602) 评论(0) 推荐(0)
摘要:方法一: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 阅读全文
posted @ 2020-09-15 16:43 GK0328 阅读(151) 评论(0) 推荐(0)
摘要:一般$NOIP$时栈空间与内存空间一样大,但是编译器一般只开有$8MB$的栈空间,以致递归过度会导致爆栈 所以我们可以再$vscode$终端中敲入ulimit -s X $X$为栈空间大小(例:$X=128000=125*1024$时,栈空间为$125MB$) 阅读全文
posted @ 2020-09-15 16:33 GK0328 阅读(1670) 评论(0) 推荐(1)
摘要:$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 阅读全文
posted @ 2020-09-15 16:19 GK0328 阅读(237) 评论(0) 推荐(1)
摘要:匈牙利算法 匈牙利算法是基于寻找增广路进行的匹配,一条增广路是当然是一条真实存在的路径,由未匹配点开始,以未匹配点结束,匹配点与未匹配点交替出现,这样一条增广路可以让原问题的答案加$1$(把匹配边与未匹配边反一反也是合法答案,同时答案更大),具体可以参考这篇博客 所以我们枚举每一个点,去寻找增广路, 阅读全文
posted @ 2020-09-14 15:15 GK0328 阅读(214) 评论(0) 推荐(0)
摘要:https://www.luogu.com.cn/problem/P4751 动态DP 树剖的动态DP做法见此,动态DP原理也再里面,这篇博客就不写了:树剖动态DP 由于树剖时间复杂度为$O(n \log^2 n)$,会被这道题卡,所以我们需要全局平衡二叉树 全局平衡二叉树类似$LCT$,有虚实边之 阅读全文
posted @ 2020-09-13 16:59 GK0328 阅读(226) 评论(0) 推荐(0)
摘要: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 阅读全文
posted @ 2020-09-11 20:05 GK0328 阅读(158) 评论(0) 推荐(0)
摘要:https://www.luogu.com.cn/problem/P2680 树链剖分 我们对每条边$i$单独考虑,那么设$v_i$为这条边的长度,经过它的路径长度集合为$S$,未经过它的路径长度集合为$T$ \[ ans_i=\max \begin{cases} S_{max}-v_i \\ T_ 阅读全文
posted @ 2020-09-11 16:30 GK0328 阅读(249) 评论(0) 推荐(0)
摘要:https://www.luogu.com.cn/problem/P3379 $Tarjan$求$LCA$ $Tarjan$求$LCA$是一种离线求$LCA$的做法 $dfs$访问每个节点,当一个节点被访问结束后,直接将该节点并在它的父亲上,然后处理询问 用$vector$储存一端在$u$的询问,倘 阅读全文
posted @ 2020-09-11 14:52 GK0328 阅读(104) 评论(0) 推荐(0)
摘要:https://www.luogu.com.cn/problem/P5021 图论 十分简单的题目,想起NOIP2018时叹其为不可做题,一点一点啃暴力分(自闭) 很明显,需要二分答案,设二分到的值为$mid$ 对于每个节点考虑,倘若有一条链经过节点$u$和其父亲之间的连边,那么我们只能有一条链延伸 阅读全文
posted @ 2020-09-10 20:43 GK0328 阅读(123) 评论(0) 推荐(0)
摘要:https://www.luogu.com.cn/problem/P2668 https://www.luogu.com.cn/problem/P2540 搜索 我们搜索顺子,最优选择应该是先搜单顺或者双顺,再搜三顺(毕竟三张牌用处更大) 搜顺子可以从长的搜到短的 最优性剪枝就不用多说了吧 然后每搜 阅读全文
posted @ 2020-09-10 15:35 GK0328 阅读(295) 评论(0) 推荐(0)
摘要:https://www.luogu.com.cn/problem/P3373 分块 不写线段树,就是要分块! 同样需要打标记 在任何时候,\(A_i=mul_{bel_i} \times a_i+add_{bel_i}\)($bel_i$表示$i$属于哪一块,$A_i$表示第$i$个位置的真实值) 阅读全文
posted @ 2020-09-09 20:34 GK0328 阅读(134) 评论(0) 推荐(0)
摘要:https://www.luogu.com.cn/problem/P5049 图论 其实参加过$NOIP2018$了,当时弄了一个$O(n^2 \log n)AC$,但是没补过这个加强版 本来以为挺简单的,但是一叠细节没有考虑,$WA$飞好多次(菜死) 首先,对于树的情况,很容易考虑到把每个节点相邻 阅读全文
posted @ 2020-09-08 19:44 GK0328 阅读(187) 评论(0) 推荐(0)
摘要:https://www.luogu.com.cn/problem/P1177 排序 快速排序(\(QuickSort\)) #include<iostream> #include<cstdio> #include<algorithm> #define N 100005 using namespace 阅读全文
posted @ 2020-09-07 20:34 GK0328 阅读(129) 评论(0) 推荐(0)
摘要:https://www.luogu.com.cn/problem/P1084 二分/倍增/贪心 阅读题面,很容易发现,答案具有可以二分的性质,所以我们首先二分答案 又有一个比较显然的结论,我们假设让一支军队在一个节点或其父亲(非$1$)上,选择其父亲显然更优(可以覆盖更多叶子节点) 那我们就倍增跳呗 阅读全文
posted @ 2020-09-07 17:48 GK0328 阅读(127) 评论(0) 推荐(0)
摘要:https://www.luogu.com.cn/problem/P5665 \(DP\) \(36pts\) $dp_{i,j}$表示前$i$个数,上一段取的是以位置$j$结尾的最小值 $S_i$表示前$i$个数的和 \[ dp_{i,j}=\min \begin{cases} {S_i}^2 \ 阅读全文
posted @ 2020-09-06 18:10 GK0328 阅读(249) 评论(0) 推荐(0)
摘要:https://www.luogu.com.cn/problem/P6177 树分块 思路就是每隔$S$个点,取一个关键点,记录每两个关键点之间的信息,用$bitset$维护 然后每次询问一条链时,拆成以$lca$为上端节点的两条链 对于每条链,关键点之间的信息直接取就行,剩下的单独取(\(bits 阅读全文
posted @ 2020-09-05 18:11 GK0328 阅读(249) 评论(0) 推荐(0)
摘要:https://www.luogu.com.cn/problem/P5664 \(DP\) 首先,根据题意,每一行至多取一个 直接求状态数太多,正难则反 我们用全部方案数减去不符合要求的方案数(注意除去全不取情况) 这里不符合要求的方案即食材数超过一半的那些方案 枚举哪一列食材数超过一半,其他任意取 阅读全文
posted @ 2020-09-04 20:49 GK0328 阅读(161) 评论(0) 推荐(0)
摘要:https://www.luogu.com.cn/problem/P1058 模拟 以前看到这道题就头晕,一直没下手(尽管是黄题) 今天好歹一遍过样例,一遍$AC$ \(Code:\) #include<iostream> #include<cstdio> #include<algorithm> # 阅读全文
posted @ 2020-09-04 20:02 GK0328 阅读(134) 评论(0) 推荐(0)
摘要:https://www.luogu.com.cn/problem/P4719 动态DP 考虑静态的$DP$ 设$f_{u,0}$表示$u$号点不取时,以$u$为子树的最大权独立集的权值,$f_{u,1}$表示$u$号点取时,以$u$为子树的最大权独立集的权值 \[ f_{u,0}=\sum_{v \ 阅读全文
posted @ 2020-09-02 15:23 GK0328 阅读(224) 评论(0) 推荐(1)