
动态规划
Zookkk
这个作者很懒,什么都没留下…
展开
-
The Preliminary Contest for ICPC Asia Shenyang 2019 D. Fish eating fruit
题意:设f(x,y)=dis(x,y)%3,现在要求f(x,y)=i(0<=i<=2)的路径 思路: 两种解法,一种树形dp,一种点分治。 树形dp:二次扫描换根,第一次扫描,搜索出每个节点到其子树的答案贡献,第二次扫描,搜出这个点到非子树节点的答案贡献 最后统计答案的时候加上两次扫描每个点的贡献 代码: #include<bits/stdc++.h> usi...原创 2019-10-15 18:45:30 · 221 阅读 · 0 评论 -
南昌网络赛 D题 动态规划 The Preliminary Contest for ICPC China Nanchang National Invitational
思路:这道题我不会做,也是看大佬博客才知道这样写的,太有道理了。 先预处理两个数组 mx[i][j],mi[i][j]:分别表示i位数用j根木棍的最大值和最小值 然后对表达式进行处理,统计有多少个数,总共有多少根火柴棍。 处理完之后进行状态转移,dp[i][j]表示前i个数用了j根火柴棍的最大值,dp[i][j]=max(dp[i][j],dp[i-1][j-2-k]+mx[dig[i]]...原创 2019-05-05 17:35:28 · 223 阅读 · 0 评论 -
Codeforces Round #577 (Div. 2)D Treasure Hunting (动态规划+二分)
题意:给一个n*m的地图,地图上有k个点放有宝物,你从起点(1,1)出发,只能往上,左,右三个方向,并且只有在安全列才能往上走,要求收集完所有宝物走的最短距离 思路:一个dp题,正着递推或倒着递推都是可以的,这里我们倒着递推,从最顶层开始往下面走,每一层可以列出两个状态,假设这一层编号i,第一种状态,收集完第i层到第n层的所有宝物后,最后停留在第i层最左边的宝物点的最短距离,第二种状态,收集完第...原创 2019-08-06 22:54:49 · 672 阅读 · 0 评论 -
The Preliminary Contest for ICPC Asia Shanghai 2019 J. Stone game (退背包)
题意:有n个石头,每个石头重量为a[i],将这n个石头分为2堆,要求第一堆石子比第二堆大,第一堆去掉重量最小的那个石子后又比第二堆小 思路:退背包,先用01背包算出容量为j的方案数,然后再从小到大到顺序使石子推出背包 代码: #include<bits/stdc++.h> using namespace std; #define ll long long #define inf...原创 2019-10-06 17:37:59 · 246 阅读 · 0 评论