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. (CVE-2017-7494)Samba远程代码执行[Linux]

    简介 此漏洞是针对开启了共享的smb服务 漏洞利用 启动msfconsole search is_known_pipename   搜索此模块 use exploit/linux/samba/is_k ...

  2. 解决maven打包时,会编译特定文件导致文件不可用

    <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resou ...

  3. IO操作-BIO

    BIO:block IO,即同步阻塞IO,主要应用于文件 IO 和网络 IO 这里主要说一下网络IO,以Socket编程为例进行说明 1.先建立Socket服务端 //BIO 服务器端程序 publi ...

  4. 乐字节Java|GC垃圾回收机制、package和import

    本文接上一篇:乐字节Java|this关键字.static关键字.block块.本文是接着讲述JavaGC垃圾回收机制.package 和 import语句. 一.GC垃圾回收机制 GC全名:Garb ...

  5. 推荐:【视频教程】ASP.NET Core 3.0 入门

    墙裂推荐了,免费,通俗易懂,唯一可惜的就是不是我录的,更可惜的是人家录制完了快半年了我还没看完... 版权归原作者所有,建议新手还是边看边实践吧,要不然过完一遍发现自己啥也没学会,不要眼高手低 [视频 ...

  6. 快速了解NIO

    NIO的由来 我们都知道,在jdk1.4的时候就开始引入NIO了,它是基于Selector机制的非阻塞I/O,可以将多个异步的I/O操作集中到一个或几个线程中进行处理,目的就是为了代替阻塞I/O,提到 ...

  7. ajax与jsonp中的几个封装函数

    首先是ajax里的get 在页面上添加几个标签用作测试 <body> <input type="text" id="user"> < ...

  8. MongoDB 正则表达式查询

    正则表达式查询     $regex 注:^ 取反的意思  用特殊的转义字符需要在前面加一个斜杠 通过 ^取反 ,再通过$not取反,就可获得只包含一种类型的数据 \\d  数字 \\s  空格 \\ ...

  9. 数据结构——java实现队列

    顺序队列: 概念: 队列是一种先进先出的线性表,只允许在一端插入,另一端删除.允许插入的一端称为队尾,允许删除的一端称为队头 顺序队列的实现: import org.junit.jupiter.api ...

  10. 动手篇:简单的注册界面与防SQL注入(续)

    注册前先判断用户名是否已经存在,通过if (SqlHelper.Exists(strSql))查询判断是否已经存在.没存在则进行一个数据插入数据库操作 string strSql1 = string. ...