The old Padawan_最蛋疼的一个晚上
【题目来源】多校2014
【题目含义】给你n块石头,第 i 块石头的重量是 w i ,你每秒钟可以捡起一块石头(无论石头重量大小),但是有m次你不能捡石头,还要从手里扔下几块重量和大于k的石块,第 i次的时间是 t i ,求你捡起所有石块的时间
【题目分析】刚开始最这个题的时候我根本没看时间——才500ms啊!考坑!然后然后我就暴力求解了→_→,好不容易暴力结果正确了,却给了个TLE,改为用二分查询后又莫名其妙的给了RE,然后又是莫名其妙的MLE,三个多小时后才默默的得到了AC,啥也不说了,感觉今晚已经被坑爆了!
【AC代码】
#include <iostream>
#include <cstdio>
#include <cstring>
#define mem(x) memset((x),0,sizeof((x)))
#define inf 0x7fffffff
#define MAXN 10+100000
using namespace std;
int a[MAXN];
int b[MAXN];
int sum[MAXN];
int find(int x,int m){if(x < 0)return 0;int l = 0;int r = m;int mid = -1;while(l <= r){mid = (l+r)/2;if(x > sum[mid]){l = mid+1;}else if(x < sum[mid]){r = mid -1;}else return mid - 1;}return (l+r)/2;
}
int main()
{freopen("in.txt","r",stdin);mem(a);mem(b);int n,m,k;while(scanf("%d%d%d",&n,&m,&k) != EOF){mem(sum);for(int i = 1; i <= n; i++){scanf("%d",&a[i]);sum[i] += sum[i-1] + a[i];}n++;a[n] = inf;sum[n] = inf;for(int i = 1; i <= m; i++)scanf("%d",&b[i]);m++;b[m] = inf;int i,j;long long t;t = 0;i = j = 1;while(1){if(t < b[j]-1 && i < n-1){int xxx;xxx = min((int)(b[j]-1-t),n-1-i);t += xxx;i += xxx;}if(i >= n-1){if(j == 1){++t;}if(t == b[j])--t;elsebreak;}if(i - 1 >= t)--i;i = find(sum[i] - k,n);++t;++j;}printf("%lld\n",t);}return 0;
}
我今晚提交的错误次数都已经把oj给刷屏了,为了记住此刻的耻辱吧,决定上传照片一张。
另外我也造了很多数据,能把这些数据都过了,基本就能AC了:
数据:
5 1 4
1 2 3 4 5
4
5 1 4
1 2 5 3 5
4
5 1 10
1 2 3 4 5
10
5 2 10
1 2 3 4 5
10 20
5 2 4
1 2 5 3 4
4 20
5 1 10
1 2 3 4 5
4
5 5 10
1 2 3 4 5
1 2 3 4 5
5 5 10
1 2 3 4 5
2 3 4 5 6
5 5 10
1 2 3 4 5
1 3 5 8 10
10 10 10
1 2 3 4 5 6 7 8 9 10
1 3 5 8 10 15 20 25 30 35
10 0 5
1 2 3 4 5 6 7 8 9 10
10 5 10
1 2 3 4 5 6 7 8 9 10
8 10 15 20 25
10 5 10
1 2 3 4 5 6 7 8 9 10
8 11 15 20 25
10 5 10
1 2 3 4 5 6 7 8 9 10
8 11 15 20 25
10 5 10
1 2 3 4 5 6 7 8 9 10
10 11 12 13 14
数据答案(一一对应):
8
7
5
5
7
9
10
11
15
46
10
19
19
19
24
希望我以后少遇到这种坑题,也少被这种坑题坑,同样,也希望大家如此。
The old Padawan_最蛋疼的一个晚上相关推荐
- 一个晚上,输掉了整个世界!
一对青年,热恋很久以后结婚了.一天,男的要给女的买戒指.走进商厦,一看那些琳琅满目的金银首饰,她犹豫了很久,吞吞吐吐地说:"我不要这个,给我买个呼机吧." 自:Club.China ...
- fedora mysql gui_fedora8安装 mysql++失败!!装了一个晚上没搞定!!伤心阿!
fedora8安装 mysql++失败!!装了一个晚上没搞定!!伤心阿! 发布时间:2008-02-24 05:15:27来源:红联作者:lygzx [root@F8 mysql++-3.0.0]# ...
- The requested resource (Servlet action is not available) is not available.这个问题让我通宵了一个晚上
在昨晚用struts+spring+hibernate做注册页面时,一路上下来都非常的顺利,但在运行时能出现注册的页面,一点击注册,就出现了以下的页面: type Status report ...
- 刘强东的代码水平到底有多牛? 网友:95年一个晚上赚5万!
来自:51CTO官微 作为京东集团创始人,刘强东备受关注.互联网界的大佬,很多都是程序员出身,或者会写代码,就像雷军.马化腾.李彦宏.周鸿祎.张一鸣等,几乎都是编程高手.有人问刘强东的代码水平如何? ...
- 刘强东的代码水平如何?网友:95年一个晚上赚5万
作为京东集团大佬,刘强东备受关注.互联网界的大佬,很多都是程序员出身,或者会写代码,就像雷军.马化腾.李彦宏.周鸿祎等,几乎都是编程高手.有人问刘强东的代码水平如何? 关于这个问题,得到了很多网友的回 ...
- 刘强东的代码水平到底有多牛?网友:95年一个晚上赚5万
关于这个问题,得到了很多网友的回答. 头条号@电子哥的日常: 刘强东代码水平非常厉害啊.高考是宿迁市的状元,省前几名,智商是非常高的.后来去了人大,他的成绩去清华妥妥的,典型的学霸.他出生农村,家里的 ...
- 互联网大佬们的代码水平如何?网友:刘强东95年一个晚上赚5万
作为京东集团大佬,刘强东备受关注.互联网界的大佬,很多都是程序员出身,或者会写代码,就像雷军.马化腾.李彦宏.周鸿祎等,几乎都是编程高手.有人问刘强东的代码水平如何? 关于这个问题,得到了很多网友的回 ...
- 填坑:Windows下使用OpenSSL生成自签证书(很简单,一个晚上搞明白的,让后来者少走弯路)
最近在学习中发现openssl 中有个坑,所有的教程都是openssl genrsa -des3 -out private.key 1024,但是产生的证书,npm start 之后就报错如下: er ...
- 填坑:Windows下使用OpenSSL生成自签证书(很简单,一个晚上搞明白的,让后来者少走弯路)...
最近在学习中发现openssl 中有个坑,所有的教程都是openssl genrsa -des3 -out private.key 1024,但是产生的证书,npm start 之后就报错如下: er ...
最新文章
- QIIME 2用户文档. 3老司机上路指南(2018.11)
- java强克隆_java之克隆clone解密
- 数据库相关概念以及简单SQL语句
- #6073. 「2017 山东一轮集训 Day5」距离(树链剖分 + 永久标记主席树)
- 性能测试工具SilkPerformer介绍
- qtwebengineprocess已停止工作_windows资源管理器总是停止工作
- Retrofit使用
- javax.naming.NameNotFoundException: QueueConnectionFactory not bound
- 关于页面导航和数据传递的简单总结
- 用python分析拼多多_python:拼多多订单接口api
- bt种子制作php,BT种子制作
- 《微观经济学》第三章相互依存性与贸易的好处
- echart 三维可视化地图_ECharts实现三维可视化
- 网卡offload功能介绍
- Python 元组大全
- Kotlin学习笔记12——数据类和密封类
- 【NLP】⚠️学不会打我! 半小时学会基本操作 4⚠️词向量模型
- 操作系统分类——批处理、分时、实时
- 一位友人做足这些准备,终于拿到了FaceBook的offer
- 关于使用mathtype插件对word公式进行右编号,章节编号更新,以及红色字体去掉问题
热门文章
- 如何将多行单元格数据转变成一行?这个Excel技巧你一定不知道!
- nginx+vsftp搭建图片服务器
- 实现多模交互融合的四个阶段
- SAM(segment anything model)分割一切 Demo测试及API调用
- python实现阿列金分类法
- IOS开发:尺寸和适配
- c语言笛卡儿方程,基于用Pro/E从方程创建各种基准曲线(笛卡尔) 方程集合大全...
- 两个坚持是什么_力量训练有什么好处,为什么值得你长期坚持?
- 博客版企划书(日不落战队)
- Kafka知识总结之Broker原理总结