Tyvj P1015 公路乘车 (DP)



描述 Description

一个特别的单行街道在每公里处有一个汽车站。顾客根据他们乘坐汽车的公里使来付费。例如样例的第一行就是一个费用的单子。

没有一辆车子行驶超过10公里,一个顾客打算行驶n公里(1<=n<=100),它可以通过无限次的换车来完成旅程。最后要求费用最少。

输入格式 InputFormat

第一行十个整数分别表示行走1到10公里的费用(<=500)。注意这些数并无实际的经济意义,即行驶10公里费用可能比行驶一公里少。

第二行一个整数n表示,旅客的总路程数。

输出格式 OutputFormat

仅一个整数表示最少费用。

样例输入 SampleInput [复制数据]

12 21 31 40 49 58 69 79 90 101
15

样例输出 SampleOutput [复制数据]

147

完全背包模型,背包容量为人需要走的公里数,车行驶的公里数为花费,价值是各个公里数对应的费用。车可以无限取,且恰好走满m公里。

#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <math.h>
using namespace std;
typedef long long LL;
const int MAX=0x3f3f3f3f;
int m,w[11],v[11],dp[105];
int main()
{
    for(int i=1;i<=10;i++) {
        scanf("%d",&v[i]);
        w[i] = i;
    }
    scanf("%d",&m);
    memset( dp,MAX,sizeof(dp) ); //恰好走满m公里,开始时状态都不合法,只有0辆车状态合法
    dp[0] = 0;
    for(int i=1;i<=10;i++)
        for(int j=w[i];j<=m;j++)
            dp[j] = min(dp[j] , dp[ j-w[i] ]+v[i]);
    printf("%d\n",dp[m]);
    return 0;
}

Tyvj P1015 公路乘车 (DP)

时间: 2025-01-12 11:43:07

Tyvj P1015 公路乘车 (DP)的相关文章

TYVJ P1015 公路乘车

时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 一个特别的单行街道在每公里处有一个汽车站.顾客根据他们乘坐汽车的公里使来付费.例如样例的第一行就是一个费用的单子. 没有一辆车子行驶超过10公里,一个顾客打算行驶n公里(1<=n<=100),它可以通过无限次的换车来完成旅程.最后要求费用最少. 输入格式 第一行十个整数分别表示行走1到10公里的费用(<=500).注意这些数并无实际的经济意义,即行驶10公里费用可能比行驶一公里少.    第二行一个

TYVJ 公路乘车 完全背包(水题)

描述 Description 一个特别的单行街道在每公里处有一个汽车站.顾客根据他们乘坐汽车的公里使来付费.例如样例的第一行就是一个费用的单子. 没有一辆车子行驶超过10公里,一个顾客打算行驶n公里(1<=n<=100),它可以通过无限次的换车来完成旅程.最后要求费用最少. 输入格式 InputFormat 第一行十个整数分别表示行走1到10公里的费用(<=500).注意这些数并无实际的经济意义,即行驶10公里费用可能比行驶一公里少.第二行一个整数n表示,旅客的总路程数. 输出格式 Ou

公路乘车

                                              公路乘车 描述 Description 一个特别的单行街道在每公里处有一个汽车站.顾客根据他们乘坐汽车的公里使来付费.例如样例的第一行就是一个费用的单子. 没有一辆车子行驶超过10公里,一个顾客打算行驶n公里(1<=n<=100),它可以通过无限次的换车来完成旅程.最后要求费用最少. 输入格式 InputFormat  第一行十个整数分别表示行走1到10公里的费用(<=500).注意这些数并无实际

P1177 公路乘车 - Smart Online Judge

简单的动态规划 题目ID:1177 题目名称:公路乘车 有效耗时:15 ms 空间消耗:516 KB 程序代码: 1 #include<iostream> 2 using namespace std; 3 4 int f[11]; 5 int g[102]; 6 int main(){ 7 for(int i=1;i<=10;i++){ 8 cin>>f[i]; 9 } 10 for(int i=1;i<=102;i++){ 11 g[i]=0; 12 } 13 14

Tyvj P1016 装箱问题 (DP)

背景 Background 太原成成中学第2次模拟赛 第三道 描述 Description 有一个箱子容量为v(正整数,o≤v≤20000),同时有n个物品(o≤n≤30),每个物品有一个体积 (正整数).要求从 n 个物品中,任取若干个装入箱内,使箱子的剩余空间为最小. 输入格式 InputFormat 第一行,一个整数,表示箱子容量: 第二行,一个整数,表示有n个物品: 接下来n行,分别表示这n个物品的各自体积. 输出格式 OutputFormat 一个整数,表示箱子剩余空间. 样例输入 S

tyvj 1402 乌龟棋 dp

P1402 [NOIP2010]乌龟棋 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 NOIP2010提高组复赛第二题 描述 小明过生日的时候,爸爸送给他一副乌龟棋当作礼物. 乌龟棋的棋盘是一行N 个格子,每个格子上一个分数(非负整数).棋盘第1 格是唯一 的起点,第N 格是终点,游戏要求玩家控制一个乌龟棋子从起点出发走到终点. 1 2 3 4 5 …… N 乌龟棋中M 张爬行卡片,分成4 种不同的类型(M 张卡片中不一定包含所有4 种类型 的卡片,见

大神刷题表

9月27日 后缀数组:[wikioi3160]最长公共子串 dp:NOIP2001统计单词个数 后缀自动机:[spoj1812]Longest Common Substring II [wikioi3160]最长公共子串 [spoj7258]Lexicographical Substring Search 扫描线+set:[poj2932]Coneology 扫描线+set+树上删边游戏:[FJOI2013]圆形游戏 结论:[bzoj3706][FJ2014集训]反色刷 最小环:[poj1734

tyvj P1519 博彩游戏(AC自动机+DP滚动数组)

P1519 博彩游戏 背景 Bob最近迷上了一个博彩游戏…… 描述 这个游戏的规则是这样的:每花一块钱可以得到一个随机数R,花上N块钱就可以得到一个随机序列:有M个序列,如果某个序列是产生的随机序列的子串,那么就中奖了,否则不中.Bob会告诉你这M个序列,和身上有的钱的总数N,当然还有R的范围.请你告诉Bob中奖的概率有多少? 输入格式 第一行三个用空格隔开的数N.M和R的范围R.其中1<=R<=9,0<N<=60,0<M<=20000.下面M行每行一个字符串(长度小于

tyvj 1342 教主泡嫦娥 环上DP

342 教主泡嫦娥 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 2012年12月21日下午3点14分35秒,全世界各国的总统以及领导人都已经汇聚在中国的方舟上.但也有很多百姓平民想搭乘方舟,毕竟他们不想就这么离开世界,所以他们决定要么登上方舟,要么毁掉方舟. LHX教主听说了这件事之后,果断扔掉了手中的船票.在地球即将毁灭的那一霎那,教主自制了一个小型火箭,奔向了月球…… 教主登上月球之后才发现,他的女朋友忘记带到月球了,为此他哭了一个月.但细心的教