2015/2/12

简单的10背包变形

状态方程

dp[i] = dp[i-1]+(c[i]+10)*v[i];

dp[i] = Min(dp[i],dp[j] + (s[i] - s[j] + 10)*v[i] );

一开始用while(~scanf("%d",&tot)) wa了。。

郁闷好久。

#include<map>
#include<queue>
#include<stack>
#include<cmath>
#include<vector>
#include<climits>
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>using namespace std;
typedef long long ll;  #define mod 10007
#define lson pos<<1,l,mid
#define sc(n) scanf("%d",&n)
#define rson pos<<1|1,mid+1,r
#define pr(n) printf("%d\n",n)
#define met(n,m) memset(n, m, sizeof(n))
#define F(x,y,i) for(int i = x;i > y; i--)
#define f(x,y,i) for(int i = x;i < y; i++)
#define ff(x,y,i) for(int i = x;i <= y; i++)
#define FF(x,y,i) for(int i = x;i >= y; i--) const int N=100500;
const int inf = INT_MAX;int Max(int a,int b)
{return a>b?a:b;
}int Min(int a,int b)
{return  a<b?a:b;
}int v[1005],c[1005],s[1005],dp[1005];int main()
{  int n, m, tot, x;scanf("%d",&tot);while(tot--){met(dp,0);s[0] = 0 ;scanf("%d",&n);f(1,n+1,i){sc(c[i]);sc(v[i]);s[i]=c[i]+s[i-1];}f(1,n+1,i){dp[i] = dp[i-1]+(c[i]+10)*v[i];f(0,i,j){dp[i] = Min(dp[i],dp[j] + (s[i] - s[j] + 10)*v[i] );}}printf("%d\n",dp[n]);}return 0;
}  

poj 1260 dp相关推荐

  1. POJ 1260 Pearls(DP)

    题目链接 无语的一个题.做法是普通的O(n^2)的DP,这个题啥意思啊. 1 #include <cstring> 2 #include <cstdio> 3 #include ...

  2. POJ 3017 DP + 单调队列 + 堆

    题意:给你一个长度为n的数列,你需要把这个数列分成几段,每段的和不超过m,问各段的最大值之和的最小值是多少? 思路:dp方程如下:设dp[i]为把前i个数分成合法的若干段最大值的最小值是多少.dp转移 ...

  3. POJ 1159 (DP)

    题目:http://poj.org/problem?id=1159 思路: 找出原串的最长回文子串,当然这里说的回文子串可以不连续.用原串的长度减去最长回文子串的长度即可得出结果. 设原串a[5001 ...

  4. POJ 1037 DP

    题目链接: http://poj.org/problem?id=1037 分析: 很有分量的一道DP题!!! (参考于:http://blog.csdn.net/sj13051180/article/ ...

  5. POJ 1661 DP

    Help Jimmy Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 11071   Accepted: 3607 Descr ...

  6. POJ 3666 dp

    题意 传送门 POJ 3666 基本思路是对 N 个位置枚举所有可能高度,并 dp 求最大值.可能高度取 N 个位置的高度即可,排序以方便顺序 dp.对于升序的情况 dp[i][j]=max{dp[i ...

  7. POJ 3666(DP)

    题目链接:http://poj.org/problem?id=3666 题目大意:给一个串,要求修改最少使得串满足非递增或非递减 题目思路:刚开始没想到,后来经学长提醒如果串里的数字变1000可以怎么 ...

  8. POJ 3257 DP

    题意: 思路: 用vector存上本出发点能到的地方&成本&有趣指数(用结构体保存) 然后DP就好了 f[i][j]表示到了i 成本为j的有趣指数最大是多少 f[vec[i][k].e ...

  9. POJ 1260 Pearls

    题意:给你n种珍珠,档次从低到高. 每一种珍珠会给你计划要买的数量及单位价格.要你求出买原固定数量的珍珠.使得档次与价格最优.(每一个档次的珍珠花的钱=(计划数量+10)*单位价格) 我们来看一个样例 ...

  10. poj 2392 dp 不是很懂哎!!!Space Elevator

    大意:有K种block去建塔,每种每个都有一个高度H,用了当前的block塔的高度不能超出a,和每种的数量.求塔最高能建多高. 分析:这题就是一个多重背包,但有一点变动,必须先以a从小到大排序,因为如 ...

最新文章

  1. 牛客--追债之旅 两种解法
  2. 了解JavaScript核心精髓(三)
  3. [书目20140322]如何管理软件企业(第2版)
  4. could not open parameter file init**.ora
  5. vue --- 前端代理发送http请求
  6. YY语音招聘运维工程师(web方向),有兴趣的伙伴快来围观
  7. 如何修改默认浏览器_iPhone可以修改默认浏览器了
  8. 7-1 堆栈操作合法性 (15 分)
  9. 自定义注解完成数据库切库
  10. jQuery UI DatepickerDatetimepicker添加 时-分-秒 并且,判断
  11. 调用栈(call stack)
  12. Python报错AssertionError: can only test a child process
  13. 如何将origin pro的界面切换变成中文显示?
  14. 如何让Word表格文字上下居中?
  15. 七夕活动主题html邮件,七夕节活动策划方案,七夕创意活动主题
  16. 下面程序的功能是调用fun函数以删除字符串中指定的字符
  17. BoBo买了一箱酸奶,里面有n盒未打开的酸奶,KiKi喜欢喝酸奶,第一时间发现了酸奶。KiKi每h分钟能喝光一盒酸奶,并且KiKi在喝光一盒酸奶之前不会喝另一个,那么经过m分钟后还有多少盒未打开的酸奶
  18. 再见 Wordpress!这个开源建站神器有点吊
  19. 2023年全国最新二级建造师精选真题及答案56
  20. java -- 函数/方法

热门文章

  1. Rstudio 设置工作路径
  2. python获取当前工作路径、保存路径
  3. File system specific implementation of LookupAndOpen [file] failed
  4. 【无标题】collecting ... collected 0 items pytest解决方法
  5. JS动态添加HTML元素
  6. HTTPHEAD中referer应用
  7. 虚拟机如何使用计算机中文件,从电脑往虚拟机复制文件如何操作_怎么把电脑上东西复制到虚拟机...
  8. 常见计算机网络协议汇总
  9. 自我学习从阅读和记录开始
  10. oracle数据库中视图是什么,orcl数据库视图是什么