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. ubuntu 16 下安装 Ubuntu Make
  2. Python两数之和,并返回下标
  3. bzoj2333[SCOI2011]棘手的操作
  4. 8月第一周国内搜索网站 排名顺序基本稳定
  5. mysql update 几万 非常慢_mysqL update 太慢,求解决方法
  6. java厨房_Java多线程基础
  7. [剑指offer]面试题第[37]题[Leedcode][JAVA][第297题][二叉树列的序列化与反序列化][递归][BFS]
  8. python写算法求最短路径,Python实现迪杰斯特拉算法并生成最短路径的示例代码
  9. php返回上一层的函数6,[PHP]实用函数6第1/2页
  10. socket,ioctl获取ip
  11. python爬虫下载文件到指定文件夹_python爬虫: 从 指定路径 爬取 文件
  12. PL / SQL教程
  13. c# 调用Minitab18.1实现直方图、质量正态图
  14. 数据结构期末考题总结(附答案)
  15. 第三十四讲项目2.1-麻烦的累加涨功夫
  16. android MIT App Inventor 2 Beta 中文资料
  17. 7天内我面试了10家公司,如何从命中率0%到命中率至70%?
  18. 【神经网络】Pytorch构建自己的训练数据集
  19. Micropython实现表情识别控制小车运行
  20. ubuntu18.04字体设置

热门文章

  1. MVP简单使用+RecyclerView
  2. word文档太大怎么压缩?
  3. 树莓派+USB免驱摄像头远程监控
  4. 【CGAL_几何内核】2D和3D线性几何内核
  5. Word文字处理技巧
  6. 计算机科目三教学设计,驾校科目三教案
  7. Flask项目基本流程
  8. 第一视角:深度学习框架这几年
  9. nginx配置ssl证书
  10. python函数里调用外部变量