昨天忘记写了,因为急着去看 51nod 比赛,然而思考了许久还是一道都不会,好菜啊T_T。。。
补一下 Day 3 的情况。
Day 3
上午还是常规地做 vjudge 上的套题,硬着头皮啃英文,感觉我都要老眼昏花了。
第一题真是,又出博弈题,一到了这种题我就蒙了,根本不会思考,毕竟平时下棋打牌不多(借口),根本不考虑双方都遵循最右策略的问题,所以直接跳过。况且,这种题一般都是分支结构的考察,一吨吨 if else 往代码上贴,真是不优美。。。
第二题读完题后感觉很有意思,大体是说 n 个人排队,没人手上有一些钱,一个人可以给他前面的那个人支付 1 块钱使得他们俩交换位置,问最后能不能达到这 n 个人从后往前钱数递减。感觉直接考虑整体的思路不太能行,所以我就对于每个人分别考虑了一下,发现每个人在每个位置的钱数都能算出来,那么前往后依次确定就好了,而且 n 个人在任何位置时相对钱数大小关系不变,所以第一次排遍序,后面的任务就是计算和删除了。
第三题也体现了简化问题的一种思想,把二维的问题转化成了一维问题,就变得可做多了。这题我还想写一个平衡树(主要是因为我不太会用 STL,还有,set 太慢!),结果又调了一个上午。。。哎,码力不行啊!
最后一题是一道贪心 + dp,起初我想到了贪心,也写了一发,但是总感觉很虚——为什么最后一题会比第三题水那么多??但不管怎样我提交上去发现居然过了,喜不自禁。
下午无聊又去刷 POJ,现在我已经觉得对于英文题读题比解题难得多了= =。我又发现中国汉字的博大精深之处:在满屏幕的 abcd 中,它们变得格外显眼,于我而言,还格外亲切。。毫不犹豫的点进去。啊,中文题面读起来真爽!尽管这道题有数不胜数的条件,那种一目了然的感觉和那种看半天还得琢磨什么意思时不时还得查词典的感觉真是形成了鲜明的对比。
晚上 8 点 51nod 开始了,第二题好多人 A,然而看看并不会做。。。
Day 4
今天早上看了看昨天晚上的 51nod,发现第二题是傻题。题意是令 (1 + sqrt(2))n = sqrt(m) + sqrt(m-1),求 m. 其实过程是这样的,我百度了一下那道题,发现“百度作业帮”给出了一个很有用的证明:只要存在 sqrt(x) + sqrt(y) = (1 + sqrt(2))n,则 |x - y| = 1,所以这玩意就是可以递推求的了,矩阵快速幂一下就解决了。(然而其他题还是不会 TAT)
再做一场 vjudge,我不能不吐槽一下 codeforces 上的题爆!long!long!不仅如此,还卡!精!度!今天第一题我先是用 long double 代替 long long,然后发现把精度调小还是不能满足精度要求,所以就把所有答案再依次判断一遍,这样终于 A 了。。。
第二题真是一个逗趣题,它让你求 3 个小于等于 n 的数最小公倍数是多少,直觉告诉我奇数时显然答案是 n(n-1)(n-2),偶数时答案要么是 (n-1)(n-2)(n-3),要么是 n(n-1)(n-3)。然而交上去 WA 了。调了一会发现,cf 上那组数据我暴力都错。。。最后还是学长帮忙发现了我求 gcd 和 lcm 时没开 long long。。。哎,这个年代,什么都要开 long long。。
第三题又是博弈题,所以我跳过了。
看到第四题,发现题目数据范围卖萌,都是虚张声势,看到那么小的范围我自然地想到了状压 dp,然而我发现根本没法转移。
我就想啊想啊想,吃过中饭决定看题解。什么居然是搜索 + 剪枝?!近期出的题都很少有考搜索的了(题答除外),一道 sb 搜索题都看不出来。。。
调完第四题,听学长说第三题很简答啊,就急急忙忙翻开第三题看。题面好长啊!啊 读题 好难。。。好心的学长给了我一句话题意。我想这不是贪心吗,就顺手把它 A 掉了(第一次交我还想简单 WA 了)。
好像越写越流水账了。