Ural 1998 The old Padawan(二分)
点击打开题目链接
1998. The old Padawan
Memory limit: 64 MB
Input
Output
Sample
input | output |
---|---|
5 1 4 1 2 3 4 5 4 |
8 |
Hint
题意:有一个人要举起m块石头,但是在举石头的过程中容易走神,在他走神的1s内,要向前掉至少Kkg的石头,求其至少多少步才能把石头都举起来。
二分判断现在举起的石头还有多少。然后一步一步来。
代码:
#include <cstdio>
#include <cstring>
#include<iostream>
#include<queue>
#include <algorithm>
#define N 100005
using namespace std;
int n,m,k;
int w[N],t[N],s[N];
int binary(int x)
{int l=0,r=n,mid,ss=0;while(l<=r){mid=(l+r)/2;if(s[mid]<x){ l=mid+1;ss=mid;}elser=mid-1;}return ss;
}
int main()
{while(~scanf("%d%d%d",&n,&m,&k)){memset(s,0,sizeof(s));memset(w,0,sizeof(s));memset(t,0,sizeof(s));for(int i=1;i<=n;i++){scanf("%d",&w[i]);s[i]=s[i-1]+w[i];}for(int i=1;i<=m;i++)scanf("%d",&t[i]);t[++m]=2e9;int sum=0,tmp=0,p=0;for(int i=1;i<=m;i++){if(n-p<t[i]-sum){sum+=n-p;break;}else{tmp=t[i]-sum+p;sum+=t[i]-sum;p=binary(s[tmp-1]-k);}}printf("%d\n",sum);}return 0;
}
Ural 1998 The old Padawan(二分)相关推荐
- URAL 1998 The old Padawan 二分
The old Padawan 题目连接: http://acm.timus.ru/problem.aspx?space=1&num=1998 Description Yoda: Use th ...
- ural 1998 The old Padawan (模拟+二分)
题意: 有一个人捡按一定顺序捡石头,每秒都能捡起一个,但是他有时会分心,这是不但不能举石头, 而且手中的石头还会掉,直到没有石头可以掉下来或者掉下来的石头的总重量>k.依次给出n个 石头的重量和 ...
- URAL 1998 The old Padawan
题目只给了500ms,注意超时问题,一开始的几发都超时了,后来想到了预处理,从后往前推即可,为了防止t的大小可能有问题,所以进行了排序,还有人用二分做的,比较犀利先贴一个我的思路 #include&l ...
- ural 1998 The old Padawan
先预处理每一个点往前退几步 就一个trick..要处理这一秒已经超出了要拿完所花的时间 #include <iostream> #include <cstring> #incl ...
- URAL 1156 Two Rounds (DFS二分染色 + 分组背包)
#include <stdio.h> #define MAX 110int numOfTasks, numOfPairs; int numOfProblems; typedef struc ...
- I - The old Padawan Gym - 100285I——二分查找
Think: 1知识点:二分查找+前缀和 2题意:n个石子,m次发呆,每次发呆若手中石子足够掉落石子大于k,询问将所有石子拾到手中所需要的时间 3反思:多理解,多反思,多思考 vjudge题目链接 以 ...
- GYM 100285 I. The old Padawan(二分+简单模拟)
Description 有一个人捡按一定顺序捡石头,每秒都能捡起一个,但是他有时会分心,这是不但不能举石头,而且手中的石头还会掉,直到没有石头可以掉下来或者掉下来的石头的总重量>k.依次给出n个 ...
- POJ - 2002 Squares 数正方形【二分】【哈希表】
Squares POJ - 2002 题意 平面上有N个点,任取4个点,求能组成正方形的不同组合方式有多少种:相同的四个点,不同顺序构成的正方形视为同一正方形 分析 做法1 先枚举两个点,通过计算得到 ...
- StringBuffer+排序+二分查找+包装类+正则表达式+常用类
一.StringBuffer 1.概述 我们如果对字符串进行拼接操作,每次拼接,都会构建一个新的String对象,既耗时,又浪费空间.而StringBuffer就可以解决这个问题StringBuffe ...
最新文章
- python100行代码-python代码统计 100行
- CloudFoundry的cf push命令执行后,背后发生了什么
- 大学计算机科学不会编码,华中科技大学人员编号编码管理办法
- 2.4 1死锁的概念(1)
- solr集群搭建,zookeeper集群管理
- linux screen 命令是 ssh 的有效补充
- R语言编程基础(1)
- 2018今日头条大数据方向笔试题
- 零基础、转行学习Python是否还在纠结?这里告诉你答案!
- 可能促使您决定创建自定义数据绑定控件的一些原因:
- Sonar安装和常见问题解决
- DEDECMS安装遇到NO input files specified解决方案
- xposed框架android9.0,xposed仓库商店下载
- 原生js导出excel,并保留样式
- MySQL的JDBC下载
- [QualComm] RamDump log收集
- redhat linux 系统修复,简述rhel7系统修复
- java tld文件配置_Java Web应用因tld文件损坏出现的错误
- memmove函数c语言实现,【C语言】实现memcopy、memmove函数
- C语言中的光标定位函数
热门文章
- Ext.form.TextField与Ext.form.TextArea
- 【软考备战·希赛网每日一练】2023年4月21日
- vue2.0,vue3.0 v-model数据双向绑定
- 占位图和图片懒加载项目实战详解
- 免费python课程-Python零基础免费入门课程
- Linux云计算之web 平台搭建(LAMP-CtenOS 6)
- encode deencode
- 使用TypeScript开发微信小程序的方法
- window10总提示幸福倒计时,解决方法
- 收敛速度:线性收敛,超线性收敛,r 阶收敛