自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 UVA-10617

题目大意是说,给定一个字符串,问有几种方式删除字符,使得字符串成为一个回文串。首先要明确有几种回文串,因为回文串不同,那么删除方式自然不同。f[i][j]表示i,j之间不同回文串的个数。f[i][j]是由i+1到j的回文串个数和i到j-1的回文串个数组成的 ,其中i+1到j-1被计算了两次,需要减掉。但是当s[i]==s[j]时,i+1到j-1之间的每个回文串都可以和s[i]s[j]组成一个新的回文串,同时s[i]s[j]也是一个。因此,当s[i]==s[j]时,f[i][j]=f[i+1][j] +

2022-01-18 17:18:16 262 1

原创 滚动数组思想

简单理解就是让数组滚动起来,每次都使用固定的几个内存空间以达到压缩的目的。以时间换取空间如求斐波那契让数列时:d[1]=1;d[2]=1;for(i=2;i<80;i++){ d[0]=d[1]; d[1]=d[2]; d[2]=d[0]+d[1]; }或者:d[0] = 1;d[1] = 1;for(i=2;i<80;i++){ d[i%3]=d[(i-1)%3]+d[(i-2)%3];}...

2022-01-14 13:11:44 660

原创 动态规划-区间dp

区间DP先计算出小区间的最优解,再去得到大区间的最优解。设f[i][j]为区间[i,j]的最优解。合并果子有n堆果子,每堆果子有a[i]个,合并时只能合并相邻两堆,产生的代价为两堆果子的总数,经过n-1次后合并为一堆,求总代价最下31 2 3output:9f[i][j]表示合并[i,j]这个区间产生的最小代价。因为有两堆合并成一堆,枚举分界线i<=k<=j,分为[i,k],[k+1,j],a的前缀和sumf[i][j]=min(f[i][j],f[i][k]+f[k+1][j

2022-01-13 19:12:38 106

原创 动态规划-线性模型-poj3648

最长上升子序列问题f[i]表示以a[i]结尾的最长上升子序列问题,计算f[i]时,只需要去考虑f[1],f[2],f[3]…f[i-1],看能否转移即可。状态转移方程:f[i]=max(f[j]+1 | 1<=j<i , a[j]<a[i])POJ 3486题目大意:你想保证n年中你都有一台电脑,一开始你有一台。如果你在第y年(1<=y<=n)年购买了一台电脑,那么你需要支付c的代价。如果你这台电脑一直用到了第z年,在第z年有买了一台新的,你需要支付m(y,z)的维修

2022-01-13 14:46:12 167

原创 POJ 1088 滑雪

记忆化搜索POJ 1088 滑雪问题描述Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减

2022-01-13 12:51:33 72

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除