2018年徐州ICPC邀请赛日志  

Z的预言成真了,在正式比赛的前一天他的说说是“last one”,没错正赛后就是铜牌区的最后一名。最后揭榜前的15分钟,我们三个如坐针毡,最后奇迹诞生了!
      简单回忆一下赛程,第一天走高铁去,下午两个小时的热身赛,第二天正式赛。
      热身赛A了一道题目,共两个小时。
      A题是一道雷同的题目,跟蓝桥杯省赛的一道题目相似,Z当时推了公式,这题就放开让Z敲了。1A!B题,给你两个字符串,求A串中有多少个子串是B的任何一个前缀,我暴力一发,TLE了!接着,冥思苦想,剪了一些枝,又TLE了!数据范围太大,后来想到kmp处理一下A,然后顺序枚举B的前缀跑KMP——时间应该可以降低不少,结果程序出了bug——一直没有抢救成功!(后来仔细想想,是kmp运用错了,板子没用对!!)我开B题的同时,C一直在写C题,C题暴力跑的思路——TLE了,看数据范围太大,赛后又讨论了一阵子——发现了这题的一个突破口——正数的个数不多于100个,那么暴力每两个枚举正数对拼成矩形即可!D题,是一个图的模型,全场貌似没人A,每个点上是一个电阻,有好多个电阻串联和并联,最后求最大的电路功率流!————可怕!
       正式赛A了三道题目,共五个小时,险些A出4道题,没准还能5题。
       正式赛还有诸多个final 队的选手,想想都可怕!当然还有江苏本地许多第一次参加icpc的选手,于是出题人进行均衡处理,三道简单题——铜牌,还有进阶的算法与数据结构的题目——略微听过的树状数组变形、动态线段树维护、dfs序遍历,若干道防final选手的题目——听都没听过的final级论文算法题目!
       第一小时,我上机,出题人居然不按套路出牌——第一题居然是简单题目,果断跟榜单,仔细一看bfs搜索,我的砖场我上,写写改改——因紧张出了不少bug了,让C在一旁看着——处理了不少bug(其中一个bug是没用调用搜索函数,找了半天),省了大量的搜索时间,但发现我的bfs很快TLE了!TLE了,不可思议!后来,yy了一下暴力的方法,时间复杂度达到了1e9!在C的鼓励和怂恿下,交了一发,1A!时间差不多45分钟了!
      其实,在热身赛的时候,我们测试了1s可以跑的单冲循环的次数——2e9!所以我们才有勇气去提交这个暴力方法!
      接着,继续跟榜单,出的第二道题是一个组合数学,用卢卡斯定理可以搞定!Z的砖场Z上!Z可能也有点小紧张,错误出了不少,改改交了一发WA了,仔细改改——数据范围不够,加大!然后还是“错误地”莫名其妙,最后发现问题是自己的测试数据有问题,自己的测试数据超了题目上限!!!交完,2A!时间差不多两个小时了,太阳照到我们身上,在之后的几个小时里,我们都在一边阳光浴一边打比赛!
     接着,就过了第三道题目!
    然后剩下一个半小时,Z发现了一道矩阵快速幂的题目;有几个只过了两道题目的选手,都过了这题,因此Z坚信自己也可以,自己去推式子,功夫不负有心人,在距离比赛15分钟的时候推了出来“公式”!正确与否不得而知,反正最后没时间改bug了,并且陷入了零报错——但一运行就提示“段错误的”尴尬中!
     C在最后一个半小时里,尽情地暴力dp一道题目,先MLE了,然后压缩一下滚动DP处理——TLE了,后来想到了“循环节”(题目里的一种没有被出题人卡掉的正解就是循环节的写法!),但出了bug——导致没法AC!
         总结:本场比赛是finallist选手出的题,这题目出的质量很高;难度梯度也很ICPC,既照顾弱校也对final选手有所准备;主题人也是煞费苦心,进阶的题目里卡掉了很多常用的算法——需要用时间更优化、空间更优化的数据结构算法,我等蒟蒻瑟瑟发抖——本先学的都少也不精还要被卡掉一些方法。基础算法我们分工很明确,我们掌握的基础也很全面;进阶的算法,学的不够全面,谭教授推荐 NOI 的知识点和题目来刷,还有codeforce的题目跟iccp很相似,这几点也很重要。

2018年6月2日-徐州ICPC邀请赛日志-收获第一枚icpc奖牌的更多相关文章

  1. 2018年5月20日--西安icpc邀请赛打铁总结

    2018年5月20日--西安icpc邀请赛打铁总结  事后诸葛亮 大致回顾一下比赛,29号的热身赛和30号的正式赛. 热身赛总共三道题,一个小时,没有AC一道题目. A题是一个几何题目,审题时犯了一个 ...

  2. 2018年12月8日广州.NET微软技术俱乐部活动总结

    吕毅写了一篇活动总结,写得很好!原文地址是:https://blog.walterlv.com/post/december-event-microsoft-technology-salon.html ...

  3. 2018年3月24日上海MVP线下技术交流活动简报

    2018年3月24日下午,几位上海MVP自发组织了一次线下的技术交流会,主要由MVP胡浩牵头,我(陈晴阳).刘鑫.朱兴亮和胡浩各自做了一次主题演讲,具体主题是: 陈晴阳:<这还是我认识的Visu ...

  4. WIN10 困扰多时的屏幕亮度 终于可以调节了-完美 -更新2018年2月28日

    总结:很多问题是自己认知不够造成的,  -- 问题解决在  修复经历二,可直接跳过去看  修复经历二. 首先看你屏幕亮度是集成还是独立显卡决定的(一般是集成),所以下面 修复经历一折腾独立显卡驱动没什 ...

  5. Android GreenDao 在组件化项目中的一个问题 - 2018年7月5日21:15:14

    组件化项目使用GreenDao时注意的事项: 1.要在组件化中的基础库(domain层)创建实体类: 2.如果sycn之后不能生产Dao文件,使用 Android Studio 的Gradle插件重新 ...

  6. HIMSS EMRAM新版标准将于2018年1月1日生效

    https://www.cn-healthcare.com/article/20170223/content-489862.html HIMSS EMRAM新版标准将于2018年1月1日生效 2017 ...

  7. Android构建项目时出现的小bug们(2018年5月19日19:31:20)

    问题详情 Error:Execution failed for task ':app:preDebugAndroidTestBuild'. > Conflict with dependency ...

  8. RxJava2.0学习笔记2 2018年7月3日 周二

    摘记: 1.map -- 转换  有些服务端的接口设计,会在返回的数据外层包裹一些额外信息,这些信息对于调试很有用,但本地显示是用不到的.使用 map() 可以把外层的格式剥掉,只留下本地会用到的核心 ...

  9. IntelliJ IDEA 最新激活码(截止到2018年10月14日)

    IntelliJ IDEA 注册码: EB101IWSWD-eyJsaWNlbnNlSWQiOiJFQjEwMUlXU1dEIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYX ...

随机推荐

  1. 阿里云ecs自动创建快照教程

    最近在一个博客联盟的微信群里面看到经常有朋友问阿里云的ecs服务器怎么设置自动创建快照,也不知道最近是怎么了,看到问这个问题的朋友有有四五个左右了,今天就特意到博客里来费大家分享设置自动创建快照的方法 ...

  2. Android_7.1.1_r6源码下载

    作为一名Android工程师,阅读Android源代码也是一门基本功,前段时间由于公司开发需要,便下载编译了Android_7.1.1_r6的源代码.在Windows下貌似是无法编译源代码的,为了以后 ...

  3. 阿里云主机如何设置swap

    简介:swap交换空间实际上是一个磁盘分区,在安装操作系统时,默认划分出物理内存的1~2倍空间用于交换分区,它类似于 Windows 的虚拟内存.系统会把一部分硬盘空间虚拟成内存使用,将系统内非活动内 ...

  4. CentOS系统安装配置mysql

    一.mysql安装 安装mysql数据库: yum install -y mysql mysql-server 判断mysql是否启动成功: service mysqld start 二.mysql配 ...

  5. Mac OS X下把 /etc/sudoers 写错了怎么办?(转载https://blog.csdn.net/robertsong2004/article/details/53725285)

    重要的事情先说一下,首先为了回避这个问题,一定要用 visudo 来改 /etc/sudoers 文件. 问题描述: 1. 用  sudo vi 直接改 /etc/sudoers 并覆盖原文件. 2. ...

  6. [转帖]PG语法解剖--基本sql语句用法入门

    PG语法解剖--基本sql语句用法入门 https://www.toutiao.com/i6710897833953722894/ COPY 命令挺好的 需要学习一下. 原创 波波说运维 2019-0 ...

  7. JAVA_split 字符串按照 . 分割

    split 按照 . 分割字符串时 需要进行转义 代码: String[] str = obj_str.split("\\.") split 按照 \ 分割字符串时 需要多次转义 ...

  8. 利用Python进行数据分析_Pandas_绘图和可视化_Matplotlib

    1 认识Figure和Subplot import matplotlib.pyplot as plt matplotlib的图像都位于Figure对象中 fg = plt.figure() 通过add ...

  9. Scratch 3.0,新在哪里?

    大家期待已久的Scratch 3.0,已经上线一段时间了. 学生们可轻松通过连接WeDo2.0和EV3机器人 进行scratch编程学习啦! 或许有些朋友还不太了解Scratch,没关系,小乐今天就为 ...

  10. 一文搞懂嵌入式uboot、kernel、文件系统的关系

    总览: 在linux系统软件架构可以分为4个层次(从低到高分别为):   1.引导加载程序         引导加载程序(Bootloader)是固化在硬件Flash中的一段引导代码,用于完成硬件的一 ...