HDU 1300 POJ 1260 Pearls (DP)
2015-07-30 10:46
495 查看
思路:设dp[i]为考虑前i个珍珠的最小花费。
那么枚举用第i个珍珠所代替的珍珠(其所替换的必定是一段连续的区间)得到方程dp[i] = min(dp[i],dp[j] + cost(j+1,i))。
这个题可以用斜率优化来降低复杂度。
我的代码:
那么枚举用第i个珍珠所代替的珍珠(其所替换的必定是一段连续的区间)得到方程dp[i] = min(dp[i],dp[j] + cost(j+1,i))。
这个题可以用斜率优化来降低复杂度。
我的代码:
#include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int maxn = 505; int dp[maxn],n,a[maxn],p[maxn]; int main(){ int cas; scanf("%d",&cas); while(cas--){ scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d%d",&a[i],&p[i]); } memset(dp,63,sizeof(dp)); dp[0] = 0; for(int i=1;i<=n;i++){ for(int j=0;j<i;j++){ int ans = dp[j]; for(int k=j+1;k<=i;k++) ans += a[k]*p[i]; dp[i] = min(dp[i],ans+10*p[i]); } } printf("%d\n",dp ); } return 0; }
相关文章推荐
- Java 实现基本的排序算法
- IOS中使用像素位图(CGImageRef)对图片进行处理
- Qt creator 如何支持中文编码(Qt4和Qt5解决方法不同)
- elasticsearch Snapshot 写php shell
- hdu 1205 思路题
- [翻译]Java日志终极指南
- 第三方框架
- 谷歌免费字体----Google Fonts
- 如何在bat文件执行完毕后不自动关闭窗口
- 代码如人
- 图片处理类库 Universal-image-loader 简介
- 在一个界面使用定时器后,退出界面后,一定要记得取消定时器
- 增加计算列排序
- ogre 种草
- AC自动机初识&hdu 2222 Keywords Search
- asp.net分页,Effective paging with List View control in ASP.NET
- 开发日记
- tar打包排除某个目录
- javascript设计模式之对象工厂函数与构造函数详解
- tableViewCell的复用方法