2017-2018 ACM-ICPC, NEERC A题Automatic Door 挺棘手的模拟
题目链接:http://codeforces.com/contest/883/problem/A
题意大致就是有一个门,有n个人有规律的来,时刻分别是a,2a,3a.....na。有m个人无规律的来,时刻分别为t1,t2,t3...tm.
每当有人来了门就会立刻打开并持续开d个时间单位,在闭门的那一个时刻可以有人进入并不会触发门的再次打开。
数据范围:
a<=10^9,m<=10^5,d<=10^18
ti<=10^18
思路比较简单,枚举考虑m个无规律的来的人,推一下从第i个无规律来的人到第i+1个无规律来的人之间开门次数的公式。
然后实现。。我WA了好多好多次。
AC代码:
#include<bits/stdc++.h> #define rep(i,a,b) for(int i=a;i<=b;++i) using namespace std; const int MAXN=110000; long long n,a,m,d; long long t[MAXN]; int main() {// freopen("in.txt","r",stdin);long long ans=0,now=0;scanf("%lld%lld%lld%lld",&n,&m,&a,&d);// printf("%lld %lld %lld %lld\n",n,m,a,d);long long x=d/a+1;//printf("x=%lld\n",x);long long ma=0;rep(i,1,m){scanf("%lld",&t[i]);if(t[i]>ma) ma=t[i];// printf("t[i]=%lld\n",t[i]); }t[m+1]=max(n*a+d+d,ma+d+d);sort(t+1,t+m+2);if(t[1]<a){ans++;now=t[1]+d;}else{ans++;now=a+d;}long long tmp=now/a+1;long long temp;bool flag=0;long long cnt;rep(i,1,m+1){// printf("t[%d]=%lld tmp=%lld now=%lld ans=%lld\n",i,t[i],tmp,now,ans);if(tmp>n){cnt=i;flag=1;break;}if(t[i]<=now) continue;if(t[i]<=tmp*a){ans++;now=t[i]+d;tmp=now/a+1;}else{temp=min(t[i]/a,n);temp=temp-tmp;ans+=temp/x+1;now=(tmp+(temp/x+1)*x)*a-a+d%a;tmp=tmp+(temp/x+1)*x;// printf(" warn t[%d]=%lld tmp=%lld now=%lld ans=%lld\n",i,t[i],tmp,now,ans);if(t[i]<=now) continue;else{ans++;now=t[i]+d;tmp=now/a+1;}}}if(flag){rep(i,cnt,m+1){if(t[i]<=now) continue;else{// printf("why now=%lld i=%d ans=%lld cnt=%d\n",now,i,ans,cnt);ans++;now=t[i]+d;}}}printf("%lld\n",ans-1);return 0; }
转载于:https://www.cnblogs.com/zhixingr/p/8007342.html
2017-2018 ACM-ICPC, NEERC A题Automatic Door 挺棘手的模拟相关推荐
- 解题报告(一)F、(2018 ACM - ICPC shenyang I)Distance Between Sweethearts(数学期望 + 乘法原理 + FWT)(4.5)
繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...
- ACM ICPC 历年真题和资源
1.2017以前 ICPC Live Archive 存档了 1990 年2017的 ICPC 区域赛和总决赛题目: 但部分比赛的评测数据仅为样例数据,且对 Special Judge 的支持不完善. ...
- 2018 ACM/ICPC 沈阳站小结
第二次现场赛,能拿金已经很开心了 热身赛 开幕式后的热身赛都是训练过的三个题,40min基本就解决了,剩下的时间就是在调试机器什么的 现场赛 上来队友先过了J的模拟,我看了看G题,发现可做就直接上了, ...
- 2018 ACM/ICPC 南京站小结
第一次打现场赛,又是在半主场,其实挺激动的,但是结果不尽人意 热身赛 开幕式后的热身赛就打得有些问题,四个题都不难,我们都想到了做法,但因为机时不够+细节问题导致前两个小时一直没有过题,然后AC的三道 ...
- 2018 ACM/ICPC 北京赛区网络赛 D 80 Days 线段树
http://hihocoder.com/problemset/problem/1831?sid=1390457 描述 80 Days is an interesting game based on ...
- 2018 ACM ICPC Asia Regional - Seoul B.Cosmetic Survey
参考大佬代码 题目大意 nnn个顾客,mmm种画妆品,每一个顾客会给mmm种化妆品一个值,这个值代表这个化妆品在他心中的排名,排名越小越喜欢,如果这个值为0说明最不喜欢这一种化妆品(值为0理解为无穷大 ...
- 2018 ACM ICPC Arabella Collegiate Programming Contest A
Multiplication operation is not always easy! For example, it is hard to calculate 27 × 20 using your ...
- A - Multiplication Dilemma (思维)( 2018 ACM ICPC Arabella Collegiate Programming Contest)
滴答滴答---题目链接 Multiplication operation is not always easy! For example, it is hard to calculate 27 × 2 ...
- 2018 ACM/ICPC 沈阳站 J How Much Memory Your Code Is Using?
题目描述 In the C++ language, the values of variables are stored somewhere in the computer memory as zer ...
- 2016 ACM / ICPC Asia dalian Regional Contest 题解(11 / 11)【每日亿题2021 / 2 / 17】
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A .(2017 ACM ICPC dalian H)To begin or not to be ...
最新文章
- ps怎么一下选中多个图层_PS图层基本操作,零基础小白必学
- Java 把一个InputStream转换为一个BufferedReader
- ./configure: error: the HTTP gzip module requires the zlib library.
- sql server和mysql的区别是什么
- React 相关的优秀资源
- Android 生成随机数,获取一条随机字符串
- layui数据可视化_空间数据可视化 GEOM
- Hibernate---简介
- 即将举行的jQuery的培训活动
- 简单易学Matlab深度学习教程--矩阵
- 编址与存储相关计算(一)——软考之路
- 统计年鉴29份3种格式混合
- 教程:批量自动删除微博
- [luoguP3627][APIO2009]抢掠计划
- python语言画成圆相切_三个相切圆的公切圆
- hive中导入csv,把csv导入到hive表中步骤
- Python处理unicode字符
- 中电丽声推出全新一代硅麦
- 用python爬取小说的总结_python如何使爬取的小说更利于观看
- 关于使用mysqlworkbench实现远程连接数据库
热门文章
- aiohttp 高并发web服务_面试官要是问你如何解决web高并发,你就这样回答
- C++ map转为vector
- 区块链 Gossip Protocol是什么
- springboot注解式AOP通过JoinPoint获取参数 学习笔记
- linux中的ps fx命令,Linux中的ps命令
- Leetcode之跳跃游戏Ⅱ
- linux怎么变成windows,如何把Ubuntu 18.04改造成Windows主题界面
- javaweb环境的配置 以及tomcat的安装
- Beyond Compare 4 智能比较工具、Everything 文件/夹搜索工具,WinRAR,7-Zip 解压缩工具、diagrams 流程图工具
- 后台java规范参数_详解Java后端优雅验证参数合法性