题目链接: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 挺棘手的模拟相关推荐

  1. 解题报告(一)F、(2018 ACM - ICPC shenyang I)Distance Between Sweethearts(数学期望 + 乘法原理 + FWT)(4.5)

    繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...

  2. ACM ICPC 历年真题和资源

    1.2017以前 ICPC Live Archive 存档了 1990 年2017的 ICPC 区域赛和总决赛题目: 但部分比赛的评测数据仅为样例数据,且对 Special Judge 的支持不完善. ...

  3. 2018 ACM/ICPC 沈阳站小结

    第二次现场赛,能拿金已经很开心了 热身赛 开幕式后的热身赛都是训练过的三个题,40min基本就解决了,剩下的时间就是在调试机器什么的 现场赛 上来队友先过了J的模拟,我看了看G题,发现可做就直接上了, ...

  4. 2018 ACM/ICPC 南京站小结

    第一次打现场赛,又是在半主场,其实挺激动的,但是结果不尽人意 热身赛 开幕式后的热身赛就打得有些问题,四个题都不难,我们都想到了做法,但因为机时不够+细节问题导致前两个小时一直没有过题,然后AC的三道 ...

  5. 2018 ACM/ICPC 北京赛区网络赛 D 80 Days 线段树

    http://hihocoder.com/problemset/problem/1831?sid=1390457 描述 80 Days is an interesting game based on ...

  6. 2018 ACM ICPC Asia Regional - Seoul B.Cosmetic Survey

    参考大佬代码 题目大意 nnn个顾客,mmm种画妆品,每一个顾客会给mmm种化妆品一个值,这个值代表这个化妆品在他心中的排名,排名越小越喜欢,如果这个值为0说明最不喜欢这一种化妆品(值为0理解为无穷大 ...

  7. 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 ...

  8. 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 ...

  9. 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 ...

  10. 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 ...

最新文章

  1. ps怎么一下选中多个图层_PS图层基本操作,零基础小白必学
  2. Java 把一个InputStream转换为一个BufferedReader
  3. ./configure: error: the HTTP gzip module requires the zlib library.
  4. sql server和mysql的区别是什么
  5. React 相关的优秀资源
  6. Android 生成随机数,获取一条随机字符串
  7. layui数据可视化_空间数据可视化 GEOM
  8. Hibernate---简介
  9. 即将举行的jQuery的培训活动
  10. 简单易学Matlab深度学习教程--矩阵
  11. 编址与存储相关计算(一)——软考之路
  12. 统计年鉴29份3种格式混合
  13. 教程:批量自动删除微博
  14. [luoguP3627][APIO2009]抢掠计划
  15. python语言画成圆相切_三个相切圆的公切圆
  16. hive中导入csv,把csv导入到hive表中步骤
  17. Python处理unicode字符
  18. 中电丽声推出全新一代硅麦
  19. 用python爬取小说的总结_python如何使爬取的小说更利于观看
  20. 关于使用mysqlworkbench实现远程连接数据库

热门文章

  1. aiohttp 高并发web服务_面试官要是问你如何解决web高并发,你就这样回答
  2. C++ map转为vector
  3. 区块链 Gossip Protocol是什么
  4. springboot注解式AOP通过JoinPoint获取参数 学习笔记
  5. linux中的ps fx命令,Linux中的ps命令
  6. Leetcode之跳跃游戏Ⅱ
  7. linux怎么变成windows,如何把Ubuntu 18.04改造成Windows主题界面
  8. javaweb环境的配置 以及tomcat的安装
  9. Beyond Compare 4 智能比较工具、Everything 文件/夹搜索工具,WinRAR,7-Zip 解压缩工具、diagrams 流程图工具
  10. 后台java规范参数_详解Java后端优雅验证参数合法性