此次和长沙理工的友谊赛我个人的感觉是 —— 坑!
我个人首先就被A题绊住了。。1个小时之后,跑去看RANK。D题一片AC。。于是才放下了A题跑去做D题。
之后看到B题AC的人也不少了,跑去A掉B题。之后是E。
然后卡在了F题。。囧。。由于F题有一种情况没有考虑到。一直在重写/修正 自己的算法。提交了9次后,终于发现了(汗。。迟钝了点)。成功AC。
剩下的2个小时,我就神马都没做出来了。。囧
下面是解题报告
=============================================
A:不会。。囧rz
B:Quadrilateral
题目大意:
给定四条边,求围成的最大面积,如果无法围成四边形,输出-1;
解题思路:
好吧,这个题目其实高中的时候老师讲过。先说判断是否能围成一个四边形:一个公式就搞定了,公式是:
2max - (a + b + c) >= 0
max是最长边,a, b, c是三条较短边。
搞定这步之后,就是计算面积了。怎么算呢。。
圆内接四边形最大面积公式。。。。(好吧,这道题实际上就是考公式的有木有!)
p =(a + b + c + d)*1.0/2; // p是半周长
s =sqrt((p-a)*(p-b)*(p-c)*(p-d)); // s 就是面积。 sqrt()二次根
B题就这么愉快的解决了。。
C:不会。。|╯□╰|
D:No Brainer —— 签到题
这道题是赤果果的水题!
题目大意:
给你一个m和一个n。m是脑子的数量。n是僵尸的数量。如果每个僵尸都有脑子吃暑促“MMM BRAINS”否则输出 “NO BRAINS”。
解题思路:
直接判断m和n的大小关系,如果n >= m 输出“MMM BRAINS”,否则输出“NO BRAINS”。
这道题水的。。。。汗。。居然放到后面。。天坑一个!
E:Magic Number
题目大意:
如果一个正整数y,对于任意给的整数x,都存在(x * 10 ^ (y的位数) + y) % y = 0。那么这个数y叫做Magic Number。现在,给定n , m两个数,求两个数之间的Magic Number的个数。
解题思路:
因为,是对任意给定的x都要满足,所以只有一种可能,10^(y的位数) % y = 0。所以,针对这个条件打表即可(一共55个。),然后对于每次给定的n , m直接遍历就OK。
F:Clairewd’s message
题目大意:
给你密码表,和一串电文。电文包含明文+密文,可能没有密文。你要做的就是,输出完整的电文,即明文+密文的格式。
解题思路:
我是直接暴力做的。。从给的字串1/2处开始匹配,如果匹配到字串末尾都OK的话,就输出字串开头到开始匹配的地方,再按照密码表输出密文。如果中间有不匹配的地方,把开始匹配的位置往下移一个,重复上面步骤。如果整个字串都不匹配,那么输出整个字串,然后输出密文。
另一种思路: 扩展KMP找前缀。(--不会)
G:Hero
题目大意:
你有着猪一样的队友和神一般的对手。但是你有着无限的HP,代价是DPS是1,现在有一大堆敌人,并知道他们的DPS和HP,请你用最优的攻击策略来让自己受的伤害最小。并输出最小伤害。
解题思路:
一个贪心问题,只要对DPS/HP进行贪心就OK
另一种解题思路:DP状态压缩(- . -|| 也不会)
H:Meeting Point ---(坐标用结构体存储然后分别Sort x, y坐标存下所有坐标到当前坐标的路程值的和。最后遍历一遍找出最小值就OK)
I:青蛙的约会 ---(扩展欧几里得)