DP
TRZNDP_Z
这个作者很懒,什么都没留下…
展开
-
ICPC 2019-2020 North-Western Russia Regional Contest E. Equidistant(换根dp)
写这个题解的原因只要是想记录以下换根dp的实现。 题意: 链接 n个点的树上有m个特殊点,让你找到你一个点使得这个点到所有特殊点的距离相等。 题解: 题目本质上就是让你找一个点使得最远的距离和最近的距离相等。这样用换根dp维护最远,次远,最近,次近即可。 代码: #include<bits/stdc++.h> using namespace std; const int maxn=3e5+5; const int mod=1e9+7; #define pb push_back #define f原创 2020-05-25 01:16:31 · 290 阅读 · 0 评论 -
51nod 1376 最长递增子序列的数量(dp+cdq分治)
51nod 1376 最长递增子序列的数量(dp+cdq分治) 数组A包含N个整数(可能包含相同的值)。设S为A的子序列且S中的元素是递增的,则S为A的递增子序列。如果S的长度是所有递增子序列中最长的,则称S为A的最长递增子序列(LIS)。A的LIS可能有很多个。例如A为:{1 3 2 0 4},1 3 4,1 2 4均为A的LIS。给出数组A,求A的LIS有多少个。由于数量很大,输出Mod 1...原创 2018-09-07 20:29:51 · 263 阅读 · 0 评论 -
2018icpc焦作赛区网络预选赛 K Transport Ship(多重背包)
2018icpc焦作赛区网络预选赛 K Transport Ship 题意: 有n种物品,每种价值为aiaia_i,个数为2ci−12ci−12^{c_i}-1。现在为你,使得总价值为S的方案树有几种 题解: 多重背包二进制优化裸题 #include&amp;amp;amp;amp;lt;bits/stdc++.h&amp;amp;amp;amp;gt; using namespace std; const int maxn=1e6+原创 2018-09-17 19:31:09 · 219 阅读 · 0 评论 -
2018icpc 焦作赛区网络预赛 B Mathematical Curse(dp)
2018icpc 焦作赛区网络预赛 B Mathematical Curse 一题挺裸的dp,dp[i][j][k]表示到第i个房间第j个运算符时的最大值最小值。注意初始化就行。 #include&amp;amp;amp;amp;amp;lt;bits/stdc++.h&amp;amp;amp;amp;amp;gt; using namespace std ; const int maxn=1e5+5; long long dp[maxn][10原创 2018-09-17 19:32:07 · 140 阅读 · 0 评论 -
BZOJ 1003 物流运输
BZOJ 1003 物流运输 传送门 题解: 由因为天的数量的只有100,并且只有20个港口,数据量很小。因此,可以直接用最短路预处理第i天到第j天用同一种路径所需要的花费。然后,预处理之后,用一个简单的dp就可以了。dp[i]=min(dp[j]+cost[j+1][i]+k)dp[i]=min(dp[j]+cost[j+1][i]+k)dp[i]=min(dp[j]+cost[j+1][i]+...原创 2018-11-11 18:44:24 · 362 阅读 · 0 评论