一次比赛做一次总结,弱菜又来总结了……

我这种大四的又死皮赖来混省赛了,貌似就我和山大威海的某哥们(不详其大名)了吧。颁奖前和他聊天,得知他去百度了,真是不错,ORZ之。

比赛流水账:

题目目前不知道哪有,过几天填坑。

没发题目前,我们赌A题可能是水题,由于我是主coder,我去读A,剩下的一个从前往后,一个从后往前。

结果……,看到A有一个貌似是几何的图……,我还是硬头皮读了。读到一半,3分钟刷榜,发现E有出,让ZK读E,ZK先告诉我了B题题意,转而读E。B题是一个有环形关系的期望,我扫了一下n==1000的数据量,排除了线性递推,记忆搜索,高斯消元的可能,也知道迭代的方法是可能水出来答案的。然后迅速敲了一个迭代,样例轻松就过了,后来发现(1000,500) 这组极限数据在迭代10^4次也据正确答案相差甚远,答案收敛的太慢了,心瞬间凉了一截。

差不多10分钟,ZK淡定的告诉我E是求10以内阶乘……,我放下B敲E,12分钟1Y。(发现ZK确实是一个很淡定的人)

宝宝告诉我G,一个求组合问题,并且告诉我他YY的一个做法,我敲之,不过样例,放之。

刷榜发现有出F,求完全二叉树两点之间距离,ZK说两点慢慢往上爬就行,我想了想细节敲,28分钟1Y。

刷榜发现有J,让队友去读题,我回来继续搞B。B题只能放弃迭代,正当我想根据三个结论(1.d[i]=0.5*d[i+1]+0.5*d[i-1] , 2.d[n]=d[0]=0 , 3.d[i]=d[n-i])推公式的时候,我根据小数据发现了规律……,我发现d[0]=0,d[1]=n-1,d[2]=(n-1)+(n-3),d[3]=(n-1)+(n-3)+(n-5)……。这样轻松过了样例,看了一眼(1000,500)这个数据,发现跟我用迭代1000次后求的结果差距比较合理……,44分钟1Y。B题42分钟爆发的一血,其实在交之前我又对拍了很多数据,发现都没错误后才交的;我认为我的谨慎并没有错,一个顺畅的开局是对后场十分有利的,一血不一血无所谓。

 memset(d,,sizeof(d));
 ;t<;++t)//迭代次数
     ;i<n;++i)
         d[i]=]+]+1.0;

淫荡的迭代法

至于答案为何这样,过几天演算演算再过来填坑吧……,而且这道题貌似扩展一下会比较有趣……,再议吧……

刷榜发现A,G,J。其中A,J居多,宝宝告诉我A题意,ZK告诉我J题意,发现A是求面积,简单的推公式代码量不大,于是全权交给队友负责。我去搞J,J题很有意思 10^7的数据,求某种满足题意的数,2s的测试时间,发现貌似只有排序这条路比较好走,元素权值在10^9,基数排序不好使只有快排了。于是快排搞起吧,结果我把两个不等式看成了一个…… 就是把S/2 and segma(w)看成了一项……,结果不仅导致没出样例,还中途死机两次(估计访问内存出错)……,我真是罪过罪过。由于我跟ZK没有沟通好,他不知道我题意理解有偏差,我也不知道哪里会出错,于是打印代码暂时放下J。去趟厕所挽回一些RP。

宝宝来试他A推公式的结果,答案出负数。我:要对得起高数老师啊……,宝宝打印代码下机去改公式。

发现G n,m是100,100的数据量,可以先用一个2维dp搞,dp[i][j]代表i个队占j个桌子的方案数,于是dp[i][j]=dp[i-1][j-1]+j*dp[i-1][j],注意一下边界。最后由于桌子也是不同的,所以dp[n][m]*m!就是答案。100分钟1Y。

刷榜发现还是那几个题,偶尔冒出个C,ZK告诉我C题意:3种蛋糕求环相邻不选相同蛋糕的方案数,我手头还有J就没去想C。在确信J代码无误的情况下,跟ZK讨论半天才知道我题意理解出错。宝宝再想试试A,我就让他上了。(其实我应该趁热打铁先出了J的)。我下机抽空看了I(完全忘了还有C),按照我的理解发现是个比较有趣的题(后来发现题意完全理解跑偏)。宝宝再次得出负数,我:要对的起高数老师啊!!! 于是下机再改,ZK帮宝宝改A。

我继续搞J,发现就是题意理解问题,过了样例交之,160分钟1Y。这题这么晚才过,责任在我。另外,这题告诉我们暴力出奇迹……

ZK和宝宝合力搞A,终于过样例,交之,165分钟1Y。终于对得起高数老师了。lyt赛后电话说5分钟上俩题怒进金牌区。其实没什么,这是双开的正常现象。

赛场开始发午饭了,竟然真的是馅饼!这个味闻得我胃部开始翻滚……

刷榜发现山大八题了,多了C和D。C题ZK告诉我他以前做的一个类似题,我灵光一闪,所有数据不超过50蛋糕只有3种,4维dp可以搞,枚举A,B吃了多少个,再枚举这个人吃什么,按照人数从1推到n就可以了,由于人是成环形,还要注意第n个和第1个人不吃相同的。所以根据第1个人吃什么,做3遍上述的dp,统计答案就行。

敲到一半得知D题意,发现是简单成段更新线段树。我权衡了C,D。我觉得C题代码写起来不是很清晰,于是先开D。宝宝想替我搞D,让我理C题代码思路。我突然发现他的思路还不够成熟,还是把他拉下来换我搞D,做法是用两个延迟标记,一个记录增量,一个清零,这样比较直观。快敲完时,听到山大某神队振臂高呼,恭喜AK……,此时还在封榜前。敲完D,过样例,感觉没错,交之,WA。连续交Y的记录被终止……。突然有一丝紧张,然后紧张转瞬即逝……,我也不知道为什么。

封榜,6题银牌区第一,差上一名一分钟罚时……。

打印D,因为ZK和宝宝知道我思路,所以他俩帮我CHA D题。我转而搞C。我发现我的状态开始下滑,毕竟4个小时一直敲代码有点受不了。挣扎着把C搞完过了样例,觉得没错交之,WA。突然发现答案要取余……,我觉得代码没么错,所以取余加上再交,249分钟2Y。

差不多这个时候,又闻山大某神队振臂高呼,恭喜AK……。三人分析目前形式,D题一定要过,而且要注意罚时尽量不要再WA了。D题数据太水,宝宝出了一个卡程序的数据,于是DEBUG代码。终于我发现了pushdown有细节写错,改之,发现又漏了个地方,改之,过数据。又出了几个数据,也过。交之,284分钟2Y……

还有十五分钟,看了看I,搞清I真正题意,发现貌似不是很难,想了五分钟思路,无果。最后十分钟,我们做出了最后一个决定:吃饭……。

I题,其实关键的一句话是l,r>=0,所以不需要考虑负权边,所以到根距离是偏序的……,所以把距离排序……,然后把点按次找到能插入的位置(二分找)插入求组合就行……,有一个细节是距离相同的元素插入顺序可以交换,所以对于相同的应该再乘阶乘吧……。过几天有提交地址了验证这样下是否正确……。H题没看,过几天再填坑……。

总结:

1.终于水到一块金牌,但是去年的遗憾无法弥补。这次能出八题,一是赛前策略得以实施,刷榜跟神队之风……,读题交流题意等等,尤其是双开到后面的一道一道啃,都较好实行了;二是靠队友之间的配合,从题意交流到code再到debug,都还不错。感谢宝宝和ZK对我的信任……,让我敲了7道题,幸好我都出了;三是于赛前的两周高强度训练赛并且总结,锻炼了队伍的配合,出题能力,保持状态等,这确实是一个参赛前不可少的训练环节,费老师用心良苦啊……;四是上厕所带来了人品……。我们能力确实有限,战斗力还是不足,八题算是多的了,虽然I题可做,我认为不属于能在规定时间内做出的范围内,所以九题无望。

2.这场也有做的不好的地方,J题出这么晚,说明队友之间交流还是出现了问题。另外,思路没整理好不要轻易上机,D题还好被我嗅探到了队友考虑不周的地方……。

3.封榜前AK,跟山大的差距不言而喻……,另外可以看到海大江哥没有AK心里也是不太爽的……。所以明年SD ACMER都再加油吧。我是没有明年了……。

4.赛后我再看这套题,心里是挺别扭的。个人感觉题目出的面比较窄,组合类计数问题出了好几个。A算是个计算几何么……;仅仅在C题样例输入里见到了字符串的影子,其实给一串ABC还不如直接给出个数来的爽快;图论现在都不喜欢出了么……;大模拟消失了(也许挺好);貌似有那么几道题,总感觉见过的样子。如果这套题放在JZ,应该会被纷纷AK,九道,八道……,然后因为罚时,互相都会挺不服气。但是放在SD……,还是一套有区分度的题。这里面的意味大家应该都懂吧……。能说什么呢,确实SD好几年区域赛没什么好成绩了,所以SD加油吧……。

5.这次,我就是来做题的,玩的很高兴,终于过了一把A题瘾。

最新文章

  1. 【转】Lua coroutine 不一样的多线程编程思路
  2. NSURLSession/NSURLConnection的上传文件方法(已做了更新)
  3. CSS模版收集
  4. FlashBuilder 4.7 win64 和 mac版 下载地址
  5. sql raiseerror
  6. location.orgin
  7. 树莓派(raspberry)启用root账户 分类: 服务器搭建 Raspberry Pi 2015-04-12 18:45 95人阅读 评论(0) 收藏
  8. vuex构建笔记本应用学习
  9. LeetCode 104. Maximum Depth of Binary Tree (二叉树的最大深度)
  10. oo第二次博客作业
  11. 将.NET Core部署在Docker
  12. Collections类
  13. Qt QLineEdit 漂亮的搜索框 &amp;&amp; 密码模式 &amp;&amp; 格式化输入 &amp;&amp; 提示文字 &amp;&amp; 选择内容并移动 &amp;&amp; 清除全部输入
  14. logging模块初识
  15. 吴裕雄 python 机器学习——岭回归
  16. UVA 10944 Nuts for nuts..
  17. python系统编程(十)
  18. ping主机不通邮件报警
  19. Java 日期与数字转换
  20. ADO.net 增删改查

热门文章

  1. msp430项目编程55
  2. Windows Phone 8.1 开发实例 网络编程 天气预报
  3. slf4j 搭配 log4j2 处理日志
  4. JDK内置工具jstack(Java Stack Trace)(转)
  5. Android中查看服务是否开启的工具类
  6. BUPT复试专题—中序遍历序列(2013)
  7. [转] twemproxy ketama一致性hash分析
  8. [WASM Rust] Create and Publish a NPM Package Containing Rust Generated WebAssembly using wasm-pack
  9. 安卓执行机制JNI、Dalvik、ART之间的比較 。android L 改动执行机制。
  10. Multiple analytic account plans多辅助核算方案