题目描述

你是能看到第一题的 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\n",ans+1);
return 0;
}

QBXT T15214 Day2上午遭遇的更多相关文章

  1. PKUSC 模拟赛 day2 上午总结

    今天上午考得不是很好,主要还是自己太弱QAQ 开场第一题给的图和题意不符,搞了半天才知道原来是走日字形的 然后BFS即可 #include<cstdio> #include<cstr ...

  2. Day2上午解题报告

    预计分数:100+0+60=160 实际分数:100+0+60=160 mmpT1数据错了... T1遭遇 题目描述 你是能看到第一题的 friends呢. —— hja ?座楼房,立于城中 . 第? ...

  3. 清北澡堂 Day2 上午 一些比较重要的关于数论的知识整理

    1.算数基本定理: 对于任意的大于1的正整数N,N一定能够分解成有限个质数的乘积,即 其中P1<P2<...<Pk,a1,a2,...,ak>=1; 证: 存在性: 若存在最小 ...

  4. QBXT T15565 Day4上午道路分组

    有向并查集维护连通性 优化: vis数组表示能被节点1到达的点 显然,已经分在一个联通块中的点就没必要在用该点扩展了. #include<cstdio> #include<algor ...

  5. day2 上午 游戏 对应关系--->判断素数---->多重背包 神题

    #include<iostream> using namespace std; int n; ; ]; long long p[maxn]; long long dp[maxn][maxn ...

  6. qbzt day2 上午

    内容提要 贪心 分治 分块 搜索 接着昨天的讲 过河问题 考虑AB是最快的人,CD是最慢的人,要把CD两个人送过河,只有两种方案,牵扯到四个人,并且n个规模的原问题化成了n-2个规模的子问题 那么最后 ...

  7. 夏令营提高班上午上机测试 Day 2 解题报告

    那一天,日照一中夏令营数据结构提高班的同学们终于想起了,被Day2上午的三道题支配的恐惧……   是的..这一天的题有点难想.. 本来打算前天写这篇随笔,然而前天在机房和同学打luogu月赛…… 昨天 ...

  8. 近期概况&总结

    下午考完英语的学考就要放假啦,是衡中的假期啊QAQ 所以灰常的激动,一点也不想写题(我不会告诉你其实假期只有一个晚上.. 自从CTSC&APIO回来之后就一直在机房颓颓颓,跟着zcg学了很多新 ...

  9. PKUSC 模拟赛 题解_UPD

    之前挖了两个大坑 一个是day1下午的第二题 另一个是day2上午的第五题 先说day1下午的第二题吧 我们显然不能O(n^2)的dp,所以我们只能算贡献 首先对于任意一个边界点而言,他对答案的贡献路 ...

随机推荐

  1. 【南邮】md5 collision write up

    源码: <?php $md51 = md5('QNKCDZO'); $a = @$_GET['a']; $md52 = @md5($a); if(isset($a)){ if ($a != 'Q ...

  2. sublime text3 安装ctags实现函数跟踪跳转

    来源:http://blog.csdn.net/menglongfc/article/details/51141084 本人试用平台如下:sublime text3,和谐版 在source insig ...

  3. Linuxx学习-特殊文件与进程

    具有 SUID/SGID 权限的指令执行状态 SUID 的权限其实与进程的相关性非常的大!为什么呢?先来看看 SUID 的程序是如何被一般用户 执行,且具有什么特色呢? SUID 权限仅对二进制程序( ...

  4. ADB命令后台修改系统默认输入法

    今天要研究uiautomator如何输入中文,看网上有一种常用的解决办法:http://www.cnblogs.com/yajing-zh/p/5125387.html在这篇博客最后提出来的问题,也是 ...

  5. selenium2断言类Assert的使用

    测试中断言的重要性 一.断言的作用: 1.断言也就是检查点,重在判断我们通过页面得出来的值与期望值是否相等,如果相等,则代表断言成功,程序会继续往下执行,如果不相等,则代表断言失败,程序就会在断言失败 ...

  6. meteor 检测运行环境,手机或者桌面

    meteor add mystor:device-detection Meteor.Device.isPhone() https://atmospherejs.com/mystor/device-de ...

  7. UVa 10723 LCS变形 Cyborg Genes

    题解转自: UVA 10723 Cyborg Genes - Staginner - 博客园 首先这个题目肯定是按最长公共子序列的形式进行dp的,因为只有保证消去的一部分是最长公共子序列才能保证最后生 ...

  8. 04_ThreadLocal整合事务操作

    文章导读: 本文主要讲解了如何在没有框架情况下如何解决Dao的事务问题, 重点理解Connection存放到WeakReference中为什么垃圾回收的时候Connection不回收 视频与源码下载: ...

  9. linuxlinux0.11源码学习——bootsect.s学习

    由于一直想写一个自己的操作系统,网上推荐了<linux内核完全注释>.自学了一个星期,感觉这本书还是很好的,同时写下关于内核代码的理解,如果有什么不对的对方,欢迎大家一起来交流. 在内核引 ...

  10. [python学习篇 ] subprocess 子进程

    http://www.cnblogs.com/vamei/archive/2012/09/23/2698014.html