sgu 183
来源:互联网 发布:linux文件系统损坏 编辑:程序博客网 时间:2024/05/19 16:48
动态规划
开始不会做,
看了Owaski的题解才会的
#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#include<ctime>#include<iostream>#include<algorithm>#define INF (1<<30)-1const int MAXN = 10005, MAXM = 105;int c[MAXN] = {0} , n , m;//f(i,j) = min{f(k,i)} + c(j) //j-i < m i-k < mint f[MAXM][MAXM] = {0};#define mod(a) (a%MAXM)int main(){ int ans = INF;#ifndef ONLINE_JUDGE freopen("sgu183.in","r",stdin); freopen("sgu183.out","w",stdout);#endif scanf("%d%d",&n,&m); for(int i = 1; i <= n; i++) { scanf("%d",&c[i]); f[0][i] = c[i]; } for(int i = 1; i < n; i ++) for(int j = std::min(i + m -1, n); j > i; j --) { f[mod(i)][mod(j)] = INF; for(int k = std::max(j - m,0); k < i ; k ++) { f[mod(i)][mod(j)] = std::min(f[mod(i)][mod(j)],f[mod(k)][mod(i)] + c[j]); } } for(int i = std::max(0 ,n - m + 1); i < n; i ++) for(int j = i + 1 ; j <= n ; j++) { ans = std::min(ans ,f[mod(i)][mod(j)]); } printf("%d",ans); #ifndef ONLINE_JUDGE fclose(stdin); fclose(stdout);#endif }
0 0
- sgu 183
- SGU
- SGU
- SGU
- SGU
- SGU
- SGU
- (SGU
- SGU
- SGU
- SGU
- SGU
- SGU
- SGU
- SGU
- SGU 183 Painting the balls (DP优化)
- sgu 120
- sgu 116
- JSTL标签 参考手册
- 模仿QQ拖动清除消息提示
- leetcode 第一题 Two Num java
- 函数的缺省参数
- 关于cmd命令的重定向输出
- sgu 183
- tomcat缓存的问题
- 黑马程序员——C语言基础-关键字、标识符、注释、数据类型、常量、变量
- 正则表达式之预查
- LXDE设置快捷键
- 求nextval数组值的简便方法
- serlvet的简单理解
- 《浅谈-Android系统越用反应越慢的问题》
- hdu2825---Wireless Password(AC自动机+状压dp)