图论
Gank_Wind
I AK IOI
展开
-
浅谈树形DP
前言确实很浅树形DP顾名思义,在树上进行的动态规划被称为树形DP,而且往往以一个点为根结点的子树所获得的最大收益为状态,通常从深到浅进行状态转移(树的深度)例题:1.最大独立子集2.树的重心3.树的直径1.最大独立子集Ural大学有N个职员,编号为1~N。他们有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。每个职员有一个快乐指数。现在有个周年庆宴会,要求与会职员的快乐指数最大。但是,没有职员愿和直接上司一起参加宴会。输入格式第一行一个整数N。(原创 2020-10-04 13:25:48 · 138 阅读 · 0 评论 -
新的开始
前言可恶啊我已经几个月没写博客了刚才查徒步旅行时意外地翻到了某同校大佬的题解,感触挺深的,还是应该要总结啊而且反正不去机房就多写几篇吧题目描述发展采矿业当然首先得有矿井,小 FF 花了上次探险获得的千分之一的财富请人在岛上挖了 口矿井,但他似乎忘记考虑的矿井供电问题……为了保证电力的供应,小 FF 想到了两种办法:在这一口矿井上建立一个发电站,费用为 (发电站的输出功率可以供给任意多个矿井)。将这口矿井与另外的已经有电力供应的矿井之间建立电网,费用为 。小 FF 希望身为「NewBe_原创 2020-09-20 13:18:29 · 114 阅读 · 0 评论 -
最短路总结--模板及例题
前言最短路是图论中的一种常见题目,通常用邻接表和邻接矩阵来储存,用邻接矩阵存可能会因为空间超大而不可取,但更加方便,具体选择要根据题目要求来1.Floyd算法弗洛伊德(floyd)算法是一种用来解决任意两点之间的最短路的算法,以动态规划的思路来进行遍历我们定义一个数组dp[k][i][j]来表示第i个点到第j个点的小于等于点k标号的中转点时的最短路,如果从i到k再从k到j的两条路之和比目前从i到j的最短路更短,那么就更新dp[k][i][j]如 for(int k=1;k<=n;k+原创 2020-07-29 21:21:17 · 716 阅读 · 0 评论