![](http://acm.fzu.edu.cn/image/package.gif)
Tag | Pro.ID | Problem Title | Ratio(AC/Submit) |
---|---|---|---|
![]() | 1 | 文件系统 | 44.14%(64/145) |
2 | A simple geometric problems | 8.00%(8/100) | |
![]() | 3 | YesOrNo | 34.46%(133/386) |
4 | 盟国 | 11.53%(67/581) | |
5 | Climb Stairs | 24.43%(75/307) | |
6 | ProgramCaicai's Trees | 33.04%(38/115) | |
7 | 数字密码 | 17.81%(13/73) | |
8 | WuYou | 12.13%(54/445) |
最终结果 Rank:70/153 AC:2
这次组队赛不是用之前的题而是去参加福州大学的3月月赛
总体感觉题目上面都能理解 但是很多题想不到什么好思路来做
做出来的两题也是非常简单的水题
比赛开始后一段时间都是在看题而且没什么思路
看完一遍题(除了A题 因为它比较长orz)再回来看感觉比较简单的C题
刚开始没什么思路 因为题目讲可以切分翻转无限次
然后就往不模拟的方向想 观察一阵子后发现如果所给字符串可以由原串得到 那么它肯定是两个原串拼成的字符串的子串
这样一来这题就变得很简单了 直接敲代码
在调试的时候发生了个编译错误 出在复制原串的地方我一开始用的strcpy(a+strlen(a),a);
数组也开得够大 但是还是出错 对这个库函数并不是很熟悉 应该是要用strcat的吧
于是当时干脆换成手动复制原串拼在原串后面
再用strstr在原串找所给字符串 若找到为Yes 否则No
过了测试数据和自己想的几组数据后交上去 1A
然后是敲D 但是敲完叫上去WA
讨论了一阵后 CC指出按我的思路有特殊情况 改好之后还是WA
再想了一阵子 发现两个联盟结盟时会导致个比较复杂的情况 改了好几次把这几种情况都过了 交上去是TLE
于是换CC写E题 我们看其他题
好像CC写了很久也没什么进展的样子
我这边看了一题想出解题方式后觉得做不出来又换看下一题
后来看了下Status和Ranking发现A题的AC率和AC数都比较高
于是去看一直没看的A题
仔细地把A题从头看到尾 发现其实题目描述好多都是没用的 给出的数据有些也是无关紧要的
是个非常简单的模拟题 这个时候还有人在敲代码 于是在草稿纸上写好了结构体和输出矩阵的对应关系
看他们还是没什么进展的样子 于是换我上去敲A
由于有写好草稿和思路比较简单的原因 敲得比较顺
敲好后用样例数据测试有个地方错了 还好在敲的时候随手写了一点注释
虽然代码比较长 跟着注释找到对应位置改动一下就好了
过了样例数据后直接交上去 1A
在后面的时间里没A出题
CC和FF研究E题 我继续看我的D题准备重写结构
期间CC上去写过一段时间E题 但是测试数据不正确也找不到哪里错
后来FF尝试了下H 分成6种情况 写到最后好像有两种情况没写完的样子
那个时候大概离结束还有40分钟的样子 他们决定换我去重写D
说最后留十分钟给他们 他们继续看题
D敲好后 样例和之前想到的两种特殊情况都能过 但是交上去还是WA
然后就没什么想法了 他们那边也做不出来
比赛结束之后让师兄来看了下D 结果我的代码在判断已是同盟时再次结盟的时候会出错
加了个判断然后这种情况也能过了 但是那个时候比赛结束已经不让交代码了
晚上的时候把这份代码交上去结果是有点奇怪的TLE 有点想不通
这次得到的经验是有些题不能只想着模拟 可以从其特点出发 想出能够解题又容易实现的解题思路就好了
而且在做模拟题的时候最好先想好整个解题思路和打好草稿 然后写的时候在恰当的地方加入适量注释 对提高调试效率和正确率有极大的帮助
这样就不用写好错了改了还错结果因为结构问题不得已重写
也可以看出我们要学的东西还很多 有些题看上去比较简单也有很多队A了 但是我们没能做出来 也许亦是我们练习做题太少