• QBXT T15214 Day2上午遭遇


    题目描述

    你是能看到第一题的 friends呢。

    —— hja

    ?座楼房,立于城中 。

    第?座楼,高度 ℎ?。

    你需要一开始选择座楼,跳。 在第 ?座楼准备跳需要 ??的花费。 每次可以跳到任何一个还没有过的楼上去。但是代价,另外一座楼的代价是两高度差绝对值 ,最后一次从楼上跳到地面不需 要代价(只能跳到地上一次)。为在不超过 要代价(只能跳到地上一次)。为在不超过 ?的情况下,最多跳几次楼。 (一座楼 只能 跳一次 ,且每次 跳楼 都要 计算 准备 的花费 )

    输入输出格式

    输入格式:
    第一行个整数 ?,代表 楼的数量。

    接下来一行 ?个整数代表 ??。

    接下来一行 ?个整数代表 ℎ?。

    最后一行个整数 ?。

    输出格式:
    一行个整数 代表答案 。

    输入输出样例

    输入样例#1:

    4
    3 5 4 11
    2 1 3 1
    17
    

    输出样例#1:

    3
    【样例解释】
    从1号楼跳到 2号楼再跳到 3号楼是一种 可行 的方案 。
    说明

    对于 30%的数据, 1≤?≤5。

    对于另外 20%的数据,所有 ℎ?相同。

    对于另外 20%的数据, ??=0。

    P104 zhx 遭遇

    第 3 页 共 6 页

    对于 100%的数据, 1≤?≤50,1≤??,ℎ?≤106,1≤?≤107。

    dp[i][j]表示前i座城市,走j步的最小花费

    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    int n;
    inline int read() {
    	int x=0,f=1;
    	char c=getchar() ;
    	while(c<'0'||c>'9') {
    		if(c=='-')f=-1;
    		c=getchar();
    	}
    	while(c>='0'&&c<='9')
    		x=x*10+c-'0',c=getchar();
    	return x*f;
    }
    const int maxn = 106;
    struct node{
    	int h,w;
    	bool operator < (const node & a)const {
    		return h<a.h;
    	}
    }bul[maxn];
    int dp[maxn][maxn];//表示前i座城市,走j步的最小话费 
    int main() {
    	n=read();int ca;
    	for(int i=1;i<=n;++i) bul[i].w=read();
    	for(int i=1;i<=n;++i) bul[i].h=read();
    	std::memset(dp,0x3f,sizeof dp) ;
    	for(int i=1;i<=n;++i)dp[i][0]=0;
    	std::sort(bul+1,bul+n+1);	
    	for (int i=1;i<=n;++i) 
    		for (int j=1;j<=i+1;++j) 
    			for(int k=1;k<i;++k) {
    				dp[i][j]=std::min(dp[i][j],(dp[k][j-1]+bul[k].w+abs(bul[k].h-bul[i].h)));
    			}
    	int ans=0;
    	ca=read();
    	for(int i=1;i<=n;++i) 
    		for(int j=1;j<=n;++j) 
    			if(dp[i][j]+bul[i].w<=ca) {
    				ans=std::max(j,ans);
    			}
    	printf("%d
    ",ans+1);
    	return 0;
    }
    
  • 相关阅读:
    BZOJ 2002 [Hnoi2010]Bounce 弹飞绵羊 ——Link-Cut Tree
    BZOJ 2049 [Sdoi2008]Cave 洞穴勘测 ——Link-Cut Tree
    hdu
    hdu
    hdu
    hdu
    hdu
    hdu
    hdu
    hdu
  • 原文地址:https://www.cnblogs.com/sssy/p/7788150.html
Copyright © 2020-2023  润新知