poj 1260 dp
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相关推荐
- POJ 1260 Pearls(DP)
题目链接 无语的一个题.做法是普通的O(n^2)的DP,这个题啥意思啊. 1 #include <cstring> 2 #include <cstdio> 3 #include ...
- POJ 3017 DP + 单调队列 + 堆
题意:给你一个长度为n的数列,你需要把这个数列分成几段,每段的和不超过m,问各段的最大值之和的最小值是多少? 思路:dp方程如下:设dp[i]为把前i个数分成合法的若干段最大值的最小值是多少.dp转移 ...
- POJ 1159 (DP)
题目:http://poj.org/problem?id=1159 思路: 找出原串的最长回文子串,当然这里说的回文子串可以不连续.用原串的长度减去最长回文子串的长度即可得出结果. 设原串a[5001 ...
- POJ 1037 DP
题目链接: http://poj.org/problem?id=1037 分析: 很有分量的一道DP题!!! (参考于:http://blog.csdn.net/sj13051180/article/ ...
- POJ 1661 DP
Help Jimmy Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 11071 Accepted: 3607 Descr ...
- POJ 3666 dp
题意 传送门 POJ 3666 基本思路是对 N 个位置枚举所有可能高度,并 dp 求最大值.可能高度取 N 个位置的高度即可,排序以方便顺序 dp.对于升序的情况 dp[i][j]=max{dp[i ...
- POJ 3666(DP)
题目链接:http://poj.org/problem?id=3666 题目大意:给一个串,要求修改最少使得串满足非递增或非递减 题目思路:刚开始没想到,后来经学长提醒如果串里的数字变1000可以怎么 ...
- POJ 3257 DP
题意: 思路: 用vector存上本出发点能到的地方&成本&有趣指数(用结构体保存) 然后DP就好了 f[i][j]表示到了i 成本为j的有趣指数最大是多少 f[vec[i][k].e ...
- POJ 1260 Pearls
题意:给你n种珍珠,档次从低到高. 每一种珍珠会给你计划要买的数量及单位价格.要你求出买原固定数量的珍珠.使得档次与价格最优.(每一个档次的珍珠花的钱=(计划数量+10)*单位价格) 我们来看一个样例 ...
- poj 2392 dp 不是很懂哎!!!Space Elevator
大意:有K种block去建塔,每种每个都有一个高度H,用了当前的block塔的高度不能超出a,和每种的数量.求塔最高能建多高. 分析:这题就是一个多重背包,但有一点变动,必须先以a从小到大排序,因为如 ...
最新文章
- ubuntu 16 下安装 Ubuntu Make
- Python两数之和,并返回下标
- bzoj2333[SCOI2011]棘手的操作
- 8月第一周国内搜索网站 排名顺序基本稳定
- mysql update 几万 非常慢_mysqL update 太慢,求解决方法
- java厨房_Java多线程基础
- [剑指offer]面试题第[37]题[Leedcode][JAVA][第297题][二叉树列的序列化与反序列化][递归][BFS]
- python写算法求最短路径,Python实现迪杰斯特拉算法并生成最短路径的示例代码
- php返回上一层的函数6,[PHP]实用函数6第1/2页
- socket,ioctl获取ip
- python爬虫下载文件到指定文件夹_python爬虫: 从 指定路径 爬取 文件
- PL / SQL教程
- c# 调用Minitab18.1实现直方图、质量正态图
- 数据结构期末考题总结(附答案)
- 第三十四讲项目2.1-麻烦的累加涨功夫
- android MIT App Inventor 2 Beta 中文资料
- 7天内我面试了10家公司,如何从命中率0%到命中率至70%?
- 【神经网络】Pytorch构建自己的训练数据集
- Micropython实现表情识别控制小车运行
- ubuntu18.04字体设置