2017暑假实践报告

第二年暑假在学校度过了,去年的时候还在成长阶段,今年就在修炼阶段,刚开始的一个多星期没有什么状态,但总的来说一个暑假的学习,还是学了不少东西,自己也成长了不少。

刚来的一个星期,老师给了一个数据结构的专题,先敲敲代码,找回手感,但是写的过程中并不容易,线段树各种应用,还是需要YY。但是慢慢的就好点了,能感觉到的状态在回升,感觉自己又开始熟悉键盘了,接下来的第二个专题二分贪心,就很恶心了,卡精度,贪心的时候,贪心的正确性检验,很痛苦。

接下来的多校训练就是重头戏了。

第一场多校训练,朝鲜的金策工业大学出题,我们还是很菜,就做出了两道签到题,开场半小时,提交了1011 WA掉了,想了一下BUG,然后简单的修改了一下就交了,A了,然后就是1006,两个半小时的时候推出结论,调代码调了半小时,交上去WA掉,想了一下,以为是求循环节的时候出了问题,造了几组样例叫上,2WA,然后就是一遍遍的调,改,到结束都没过,后来看了题解,结论推对了,但是判断条件错了,应该是因子的关系,不是大小的关系。这场比赛找到了比赛的紧张感,接下来就开始了死亡暑假的过程…

第二场多校训练,1001开始的时候想好了怎么写,但是小细节没考虑好一直在WA,幸好过了,然后看着没有题可以做了,就开1011,一开始的时候就想猜一下是不是只有正方形,但是没敢写,结果推了一整场结果最后推出来只存在正方形,还有半小时的时候,终于磕磕绊绊的代码写出来,O(N^3)的,交上去T掉了,优化完了只有O(N^2),交上去WA掉了,应该是判断是不是正方形的时候,公式不对,然后修改了下交上去,A了。这场比赛后面的节奏不对,四个人在搞1011各种猜结论,但是没敢去证明,最后的时间静下心来,证出来只有正方形。虽然最后A了,但是结果不是很好,节奏没有控制住,导致整场比赛没有激情。

第三场多校训练,最后一题签到题,上来秒掉,然后队友开始开1005.我没看懂题意就没搞,我在看1008的数学,刚开始的时候没说函数是莫比乌斯反演,没看明白题意,后来加上,是莫比乌斯反演这个条件,然后更懵了,我们几个数学都是看了一点,这个有什么性质,我慢慢的推,三小时的时候,突然灵感一现,后边的就像容斥一样不就相互抵消了么,只剩下第一项,就是n^k,然后快速幂叫上,爆掉了,又在想哪里错了,没想出来哪里错,最后抱着试试看的心态写了一发java大数交上去,突然返回的accepted真的惊喜,原来mod的太大了,处理的时候错了,但是连续三场比赛两题,这样根本拿不到积分的,该调整一下状态了,这场比赛,分配的没有问题,后半程的时间,开了两题,分开做没有浪费时间,但是还是有问题,见到题打不开思路,看了题解才觉得这么简单,老师说就是看题看少了,可能真的就是这个原因,以后继续努力吧,少年。

第四场多校训练,1011数字的图形识别,用MAP优化了一下交了上去1A,然后有A掉了1009,第一次开场这么顺利,排名在前一百,然后开1003,统计因子的题,推了一个小时的公式,然后写了叫上T掉了,可能是,分解因子的时候爆掉了,又想了一下,分解因子的时候可以O(k)(k是n质因子的指数)交上去T掉,然后想到如果是质数的话,时间就变成了O(n),然后用一个miller_rabin算法判断了一下素数交上T掉了,然后把随机次数减小,叫上还是T掉,有预处理出来1e6内的数据,打表,交上T掉,然后造了大数据,本地测了一下4300ms,多了300ms,但是实在没法优化了,弃掉了,赛后又是看了题解才发现,不应该枚举区间,应该枚举素数,然后判断每个素数对结果的贡献,唉…还是太菜了,就这样连续四场两题,这次是距离积分最近的一次还是没法。

第五场多校训练,这场比赛开场不是很顺利,1011贪心,开始的时候为了快点出,没有证明结论的正确性,测了一下样例就交了,WA,然后认真的思考了贪心的正确性,换了贪心的方式,交上去A了,然后1006结论题,猜了一个结论,这次没有不敢写,交上A了,然后只剩下1008可以搞,又是四个人搞1008,但是结果又是没有出。连续五场了,不能这样了。

第六场多校训练,这一场更加的艰难,1011签到题,容斥,但是结果证明的方式很绕,一个小时的时候,我画了一个图,然后证明写了一下,A掉,1003暴力A掉,这次四个人开了三道题,结果还是很惨烈,我在搞1002计算几何,很明显的但是就是过不了,以为是精度问题,然后开始调精度,叫上WA掉,赛后看了题解,原来我推出的结论是错了,没有特征点,要用黄金分割+三分求解,这场虽然还是不好,但是感觉到了压力感,下场加油。

第七场多校训练,上来队友A了1005 和1011,然后我就开始全场酱油了,然后看1008交了,没有思路,就开始观摩大腿的操作,这场没什么作用,队友在写,我在造数据,细节但是过程很难,计算几何的题就是这么恶心,最后还是没有过。

第八场多校训练,上来一看,每个题的体面都是这么长!!!真不想做了,半小时过去了,还是没有提交的,大神们真的沉得住气,我看了1011,心想这场不会爆零吧,然后开始全场推1011,是个组合数学,终于最后的时候推出容尺的式子,T掉了,然后想了想n确定了,m就不需要管了,这样时间就有优化到了O(n),然后交上A了,终于避免了挂零的尴尬。

2017CCPC网络赛,这个赛季的第一场网络赛开始了,上来一看,并没有签到题,1003组合数学,写了一个O(N^3)交上去,T掉了,但是16级的同样的代码交上A了,真的烦,然后看了剩余的题队友,找出了1005的规律,交上A了,然后两题了,离出线又近了,然后看1007,想了数位DP,但是细节没想好,调了好久,交上T了,然后在本地造了大数据,8000ms,肯定超了,一直在想怎么优化,出去上了个厕所,有了点想法,从进制上优化,简单的改了一下,交上过了,还有一题就出线了,1004队友的算法并没有问题,但是可能最后处理结果的时候出了问题,就WA了,还是没能出线,唉最后一年了。

说是暑假总结,还不如说成是我ACM生涯的一个总结,两年了,会想起大一被鹏哥拉进坑的时候,真的就像昨天,第一次做完训练赛的时候,真的有成就感,第一次参加广东工业的校赛,什么算法都不会,瞎搞掉两题,非常的有成就感,若干年后如果有人问我,在大学干了什么,我可能会很犹豫的说出ACM,因为没什么成绩,但是是最有意义的一件事了,学到了东西,强大了自己和心理。就这样了。2017启航了,SDAU

时间: 2024-08-11 14:01:33

2017暑假实践报告的相关文章

Stack Overflow 2017 开发者调查报告

Stack Overflow 发布了 2017 开发者调查报告,此次有超过 64,000 名开发人员参与调查,分别对其技能.工具.学习趋势等数据进行了统计,现将其中一些有趣的数据和趋势撷取出来分享给大家. 一.开发角色 开发类型 大约有四分之三的受访者是 web 开发人员,不过这其中也有许多人表示正在努力构建桌面应用和移动应用. 具体开发类型 二.开发经验 Web 和移动开发人员平均而言,比其他技术学科的开发人员(如系统管理和嵌入式编程)的专业编码经验要少得多.软件行业是新人才的主要孵化器,经验

关于java实践报告

关于java实践报告,总体来说并不是很难,对我而言最大的难度在于对集合的运用,这也说明了我对第七章甚至java的整体运用并不好,第七章因为不熟练的原因是因为代码量没有敲多少,很多东西并不理解,双列集合和单列集合的运用,一般而言,像这种银行系统肯定是用Map集合更好用,直接将用户账号设定为键值,将对象用户设置为value值,再对比账号密码时直接进行调用,不管是containsKey方法还是equals关键字比较都可以,使代码更灵活也更简单.而List集合虽然可以用,但用起来更加繁琐,且不说创建集合

GSM sniffer实践报告

GSM sniffer实践报告 一.声明这东西在国内挺敏感,国外已经玩了两三年了,国内现在才开始火起来,总之一句话,本报告只做研究用,勿做非法用途,违者自负!二.OsmocomBB简介OsmocomBB是GSM协议栈(Protocols stack)的开源实现,全称是Open source mobile communication Baseband.目的是要实现手机端从物理层(layer1)到layer3的三层实现.但是目前来看,真正的物理层(physical layer)并没有真正的开源实现,

腾讯发布2017年代码报告

腾讯发布2017年代码报告,对过去一年研发数据进行了统计,涵盖代码.开发者.语言等基础数据. 扫描下方二维码或点击链接查看↓↓↓ 链接:http://m.code.tencent.com/report/2017company?ADTAG=tx.report.qr_teg 原文地址:http://blog.51cto.com/13591395/2083310

第二章实验实践报告

实践报告 第一题 实践题目 问题描述 算法描述 算法时间及空间复杂度分析(要有分析过程) 心得体会(对本次实践收获及疑惑进行总结) 1.实验题目:二分查找 2.问题描述 输入n值(1<=n<=1000).n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数.若x不存在,输出-1和比较次数. 3.算法描述 二分查找算法关键是下标的mid.left.right的变化,开始是left=0和right=length-1,接着就要判断需要查找的值x和mi

第二章上机实践报告

实践报告任选一题进行分析.内容包括: 实践题目: 7-1 二分查找 (20 分) 输入n值(1<=n<=1000).n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数.若x不存在,输出-1和比较次数. 输入格式: 输入共三行: 第一行是n值: 第二行是n个整数: 第三行是x值. 输出格式: 输出x所在的下标(0~n-1)及比较次数.若x不存在,输出-1和比较次数. 问题描述:问题是让我们设计一个二分查找,在已经输入的数组里找到我们输入的数字,

【实践报告】算法第二章实践报告

实践报告任选一题进行分析. 1.实践题目: 7-1 二分查找 输入n值(1<=n<=1000).n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数.若x不存在,输出-1和比较次数. 输入格式:输入共三行: 第一行是n值: 第二行是n个整数: 第三行是x值. 输出格式:输出x所在的下标(0~n-1)及比较次数.若x不存在,输出-1和比较次数. 2.问题描述: 输入n值(1<=n<=1000).n个非降序排列的整数以及要查找的数x,使

20172303 2018-2019-1 《程序设计与数据结构》第5周课堂实践报告

20172303 2018-2019-1 <程序设计与数据结构>第5周课堂实践报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 范雯琪 学号:20172303 实验教师:王志强 助教:张师瑜/张之睿 实验日期:2018年10月12日 必修/选修: 必修 测试内容 ASL测试 已知线性表具有元素{5,13,19,21,37,56,64,75,80,88,92},如果使用折半查找法,ASL是多少? 要求:写出结题过程 测试原理 ASL(Average Search Leng

09.19算法第二章上机实践报告

算法第二章上机实践报告 https://edu.cnblogs.com/campus/gdwywm/se1803/homework/7608 1.实践题目 7-3 两个有序序列的中位数 https://pintia.cn/problem-sets/1173827583729741824/problems/1173827629514764290 2.问题描述 已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数.有序序列A ?0 ?? ,A ?1 ?? ,?,A ?N−1 ?