随笔分类 - dp
摘要:题意: 给出一个序列和数字,你可以选择任意一个区间把区间中的每个数乘上。 问区间和的最大值是多少。 思路: 表示第i位在更新区间的前面,表示在更新区间中,表示在更新区间的后面。转移为: $dp[i][0]=max(0
阅读全文
摘要:题意: 给出一棵树,选一个节点作为根,使得所有子树的和最大,输出最大值。 思路: 换根。 代码: 1 //#include<bits/stdc++.h> 2 #include <set> 3 #include <map> 4 #include <stack> 5 #include <cmat
阅读全文
摘要:题意: 给一棵树,问有多少条边的长度大于。 思路: 对于一个点,处理出所有其他点到它的距离,找出经过它的所有长度加起来大于的点对的数量。 但是找到的这些点对中存在不经过点的点对,则减去这些点对的数量,若是的子节点,是到的距离,则减去距离
阅读全文
摘要:题意: 给一张有向图,可以把条边的边权变成,求点到的最短路。 思路: +思想。 表示点到实行了次把边权变为的操作之后的最短距离。转移为: $dis[v][k]=min(dis[v][k],dis[u][
阅读全文
摘要:题意: 给定合法括号序列,可以给括号涂三种颜色:红色,蓝色,不上色。涂色需要满足以下两个要求: ①匹配括号必须一个上色一个不上色。 ②相邻括号不能上同一种颜色,但可以同时不上色。 求上色方案数。 思路: 表示区间中上颜色,上颜色的
阅读全文
摘要:题意: 张卡片,每张卡片有4个属性分别表示花费,伤害,是否为魔法卡,是否为作用卡。如果使用一张魔法卡,可以使所有未使用的作用卡的费用减,已知有的钱,求造成的最大伤害。 思路: 表示使用了张魔法卡,花费$j
阅读全文
摘要:题意: 给定整数和数组,。表示通过爬楼梯的方法从第层到层需要的时间,表示通过坐电梯的方法从第层到层需要的时间,坐电梯前需要等单位时间,求从第一层到各层的时间。 思路: $dp[i]=min\left\lbrace\ dp[j
阅读全文