摘要:
树形DP 算法思路 总而言之,我认为树形$DP$和线性$DP$没什么大区别,唯一不同的是它要用树储存,且要从叶向根进行更新。其它没什么技巧性的东西,只要推出式子往往就能过,没什么好说的。 题目 P1352/qzez1697 [模板]没有上司的舞会 这是一道树形DP模板题. 思路:设 \(dp_{i, 阅读全文
摘要:
T1 qzez 错误检测 题意 思路 代码 T2 qzez 比赛 题意 题面 有$AB$两队,每队$n$人,两队间进行$n$场比赛,每个人都要参赛,对手随机且概率均等。每人都有一个实力值,若一场比赛中两队派出队员的能力值分别为$A_i$和$B_j$,那么实力值高的一队能获得$(A_i-B_j)^2$ 阅读全文
摘要:
用处 \(map\),映射,是一种提供一对一$hash$的$STL$,换句话说,可以把一种类型(任何类型都行,包括自定义的)映射到另一类型。 用法 调用 调用$map$要用到专门的头文件。 #include<map> 具体调用时,代码如下:\(map<\) 类型1,类型2 \(>\) 名称。 map 阅读全文
摘要:
$update2022.9.20$ 更新一个代码以便加深记忆 用处 $set$更多的用在可以用平衡树做的题目中,换句话说,平衡树的题用$set$一般都可以做。$set$支持查找一序列的长度、是否为空,可以随时插入、删除元素,可以查找某个点的前驱后继等。 用法 调用 $set$作为$STL$,要用到专 阅读全文
摘要:
栈 算法思路 栈(\(stack\))又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元 阅读全文
摘要:
树上游戏 题面 题目描述 $FLY$和朋友玩一个游戏。 在一棵树上,每个点都有一个点权,$FLY$和朋友从根开始,轮流取出点权作为分值,并且由当前玩家选择前往哪一个儿子,直到到达叶子节点后计算总分,总分大的胜。 $FLY$和他的朋友都非常谨慎,能够每次选择儿子都做到理论上的最优值,请你判断游戏是否有 阅读全文
摘要:
概念 对于有根树T的两个结点$u$、\(v\),最近公共祖先$LCA(T,u,v)$表示一个结点$x$,满足$x$是$u$和$v$的祖先且$x$的深度尽可能大。在这里,一个节点也可以是它自己的祖先。 ——摘自 百度百科 思路 $Tarjan$算法的思路如下。 从根开始$DFS$,对于遍历到的每个节点 阅读全文
摘要:
Hello,world. #include<iostream> using namespace std; int main(){ cout<<"Hello,world."; return 0; } ...... 阅读全文