8.16解题

今天……不,是昨天,没解多少题,晚上有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 ,看来任重而道远啊!

先说下思路吧~

8.16解题_第1张图片

poj2967 :  http://acm.pku.edu.cn/JudgeOnline/problem?id=2967

好混蛋的题……用c++ 怎么做都是 tle ,最后用 g++ 居然提前 2s 过了……

首先要优化的是如果n 大于 46 那么只需要判定两个最小的和最大的是否能够成三角形即可,因为最密的情况(任意三个构不成三角形)是斐波那契数列,然而斐波那契数列在 int 范围内最多有 46 个,因此,如果大于的,直接比较即可,如果小于再 sort 吧……这样会避免反复 sort 导致超时,但是这么做还是会超时的,郁闷的是居然要用 getchar 读入然后再转化成 int- -.... 我没话说了 - -|||| 然后转化完还是 tle ,后来想想用 g++ 交居然就这么过了……郁闷 ~ ~

不然这题就是纯粹的水题嘛……

你可能感兴趣的:(c,优化)