今天……不,是昨天,没解多少题,晚上有CF BetaRound#26的比赛,表现不怎么样,只解了两道最水的题……
好了,发解题报告吧~
hdu1005 : http://acm.hdu.edu.cn/showproblem.php?pid=1005
先以一个水题开始,最简单的矩阵构造,表示没有什么说的...
hdu1708 : http://acm.hdu.edu.cn/showproblem.php?pid=1708
没什么好说的,对于每个字母都满足F(n)=F(n-1)+F(n-2) ,直接推就可以了。
hdu1588 : http://acm.hdu.edu.cn/showproblem.php?pid=1588
这个题纠结死我了,看来我的coding 能力确实不敢恭维,写了好久还是没写出来,函数不会用,导致代码很长,无从检查起,昨天残留的二分也不会写…… orz ,看来任重而道远啊!
先说下思路吧~
poj2967 : http://acm.pku.edu.cn/JudgeOnline/problem?id=2967
好混蛋的题……用c++ 怎么做都是 tle ,最后用 g++ 居然提前 2s 过了……
首先要优化的是如果n 大于 46 那么只需要判定两个最小的和最大的是否能够成三角形即可,因为最密的情况(任意三个构不成三角形)是斐波那契数列,然而斐波那契数列在 int 范围内最多有 46 个,因此,如果大于的,直接比较即可,如果小于再 sort 吧……这样会避免反复 sort 导致超时,但是这么做还是会超时的,郁闷的是居然要用 getchar 读入然后再转化成 int- -.... 我没话说了 - -|||| 然后转化完还是 tle ,后来想想用 g++ 交居然就这么过了……郁闷 ~ ! ~
不然这题就是纯粹的水题嘛……