- 2024-10-20CF1187E 题解
Titletranslation给定一棵\(n\)个点的树,初始全是白点。要做\(n\)步操作,每一次选定一个与一个黑点相隔一条边的白点,将它染成黑点,然后获得该白点被染色前所在的白色联通块大小的权值。第一次操作可以任意选点,求可获得的最大权值。Solution如何让这道题秒降绿题呢?先简化一
- 2024-08-05换根 dp
板子P2986[USACO10MAR]GreatCowGatheringGP3478[POI2008]STA-StationP3047[USACO12FEB]NearbyCowsG很好的一题f[i][j]表示与点i(向下(点i儿子1中的点))距离为j的点的权值和g[i][j]表示与点i(所有)距离为j的点的权值和需要特别注意的是刚开始时g[i][j]=
- 2024-08-03AGC009B 题解
注意到如果把每一对胜者败者连边,可以得到一颗树:(例子)但是因为胜者每次只能和一个败者打,所以要用类似多叉转二叉的方法,让有不止一个孩子的节点变成有一个孩子和一个虚点。如图,原来\(1\)有三个儿子\(2,3,4\),通过转换,变成了上图。上图可以直接变成对战图(\(x2\tox1\to1)\):(原
- 2024-07-12CLOI Round 2 D题题解
一份简单的美术作业(Art)题意:给你一棵树,树上\(n\)个节点和\(n-1\)条边,每个点有一个权值,每两个黑点之间必须间隔至少一个白点,求黑点权值总和最大值,并且输出任意一种达成最大值的取点合法方案。sol:对于第一问,采用树形dp。定义\(f_{i,0/1}\)为当前节点为\(i\),当前点取或不
- 2024-04-16折半搜索
折半搜索折半一般可以把时间复杂度从\(O(2^{n})\)变成\(O(2^{n/2}\cdotn)\)。一般可以从初始状态搜一次,从目标状态搜一次。伪代码voiddfs1(intx,/*其他的状态*/){ if(x==mid+1){ /* 统计发案数 */ } dfs1(x+1,/*选第x个东西的代价*/); dfs1(x+
- 2024-04-16M-in-M
SubsetSum3仍然是有\(N\)个数\(A_i\),仍然是要求子集数量使得子集里面的数的和为\(X\)。让我给你看看范围:\(1\leN\le\color{Red}{40}\)dp!\(1\leA_i\le\color{Red}{10^9}\)Uhhh......(ByGraph_editor)如图,在起点和终点已知的情况下,我们可以起点捜一半,终点捜一
- 2023-10-12Meet in the middle
meetinthemiddleinoiwiki。meetinthemiddle,也可以叫折半搜索,是一种用来优化爆搜的方式。适用于一些数据范围比较小可以爆搜——但还没有小到可以直接搜的程度。可以让复杂度从\(O(a^b)\)降到\(O(a^{b/2})\)适用的题目一般与异或有关(才能拆成两半搜)。P2962[USACO0
- 2023-09-18折半搜索
简介:\(\mathbf{meet}\)\(\mathbf{in}\)\(\mathbf{the}\)\(\mathbf{middle}\)是一种特殊的搜索技巧,利用了“折半”这种思想,先分别搜出两半子问题的答案,再利用总问题与子问题之间的关系进行合并,得出答案。关于时间复杂度:原问题的搜索往往是\(\Theta(2^n)\)复杂度,折半后复杂
- 2023-08-08遇到的情况---hadoop集群-- NodeManager启动不起来--java.io.FileNotFoundException
情况hadoop集群nodemanager启动不起来,查看输出的日志报错java.io.FileNotFoundException:/hadoop/dfs1/log/hadoop-yarn/hadoop-cmf-yarn-NODEMANAGER-host251.log.out(Read-onlyfilesystem)管理后台点击查看NodeManager的日志文件,角色日志文件时报错访问不到。原因目录损
- 2023-01-30P6591 [YsOI2020]植树
树上操作太薄弱了,根本想不出来。思路:首先自定义根做一遍dfs,求出sz数组,sz[i]表示i的子树大小。在做第二遍dfs,对每一个点进行尝试,看能否为根。当x点为根转移到y点为
- 2022-12-12拼多多 2020校招 多多的电子字典(字典树前缀搜索,DP)
多多鸡打算造一本自己的电子字典,里面的所有单词都只由a和b组成。每个单词的组成里a的数量不能超过N个且b的数量不能超过M个。多多鸡的幸运数字是K,它打算把所有满足条件的
- 2022-11-07树的点权
问题描述给定一棵有n个点的树(点的编号为1~n),根为1,点有点权,设点i的初始值为0,给出q个操作,每个操作给出两个点和一个值,u,v,t,表示将u到v的路径上的所有点加t,输出所有操作后每