动态规划
文章平均质量分 56
~LIM_
这个作者很懒,什么都没留下…
展开
-
树的重心(树形dp)
题解: 代码: #include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #include<queue> #include<stack> #include<map> #include<cmath> #include<cstdlib> #include<string> #include<vec.原创 2021-05-31 22:40:28 · 191 阅读 · 0 评论 -
poj1159(区间dp+滚动数组)
题目链接 题意:给你一个字符串,可以在字符串任意位置添加字符,问最少需要添加多少个字符,使得原串变成回文串 解法一: 这是一个回文串问题,显然可以用区间dp来解。 这里有两个注意的地方: 由于状态转移时要用到i+1的状态,所以i从后往前遍历 数目范围是5000,开一个5000*5000的二维数组会爆,所以需要用到滚动数组 代码: #include<iostream> #include<algorithm> #include<cstdio> #include<原创 2021-05-26 20:20:26 · 303 阅读 · 0 评论 -
D. Armchairs
题目链接 题意:给出一些座位,1表示有人坐,0表示空位置,假设一个人从原来的座位i移动到空座位j上,那么花费是abs(i-j),问把最初有座位的人全部移到最初是空的位置上(一个位置只能坐一个人),最小总花费是多少 题解: 代码: #include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #include<queue> #include<stack&原创 2021-05-20 17:31:35 · 307 阅读 · 3 评论