题意:给定 n 个人,和他们的数进行比较,从后面开始比,如果不够长,加middle接着比,直到没有,如果还相同比名字。 析:很水的题,就不用说了。 代码如下: ...
分类:
编程语言 时间:
2016-08-19 22:09:35
阅读次数:
151
题目地址:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=5390
思路:先将每个点之间的最短路求出,将每条路径抽象为点,每架飞机抽象为边(对于两条路径(i,j)若飞机能在规定时间内从i到达j,则连边)。则该问题转化为用最少的边覆盖全部的点...
分类:
其他好文 时间:
2016-08-19 20:52:14
阅读次数:
169
给定一副表,问其是否合法。 思路:当全部是?的时候,是合法的。 如果不是,那么,就找到一个数字,把它拆成若干个a*b的形式,去判断其它点是否合法即可。 拆分数字的时候,只需要枚举到sqrt(n),因为肯定是两个小于sqrt n的数相乘得到的结果。 比如6=1*6 6=2*3 注意分解后,考虑调换顺序 ...
分类:
其他好文 时间:
2016-08-19 20:31:56
阅读次数:
192
题意:给定两个三角形,问你能不能拼成矩形。 析:很明显,要想是矩形,必须是四个角是直角,那么三角形必须是直角三角形,然后就是只能斜边相对,然后呢?就没了。 代码如下: ...
分类:
其他好文 时间:
2016-08-19 20:31:02
阅读次数:
132
题意:给定 n 个数,要求把其中两个分成一组,然后加和,问所有的都分好,最小数是几。 析:贪心策略,最大和是小的相加,就是最优的。 代码如下: ...
分类:
其他好文 时间:
2016-08-19 20:26:45
阅读次数:
130
分析题目后,得到要求的是最接近n的一个数,并且这个数字能写成1+2+3+....+x = ans这种形式。 要求的是最大的值。 这题就直接二分去做吧。二分出一个f(mid)<=n的最大值。 最后的end就是所求的f(end) 为什么呢?,我来分析下我这个二分是怎么实现的 当f(mid)<n的时候 b ...
分类:
其他好文 时间:
2016-08-18 23:05:09
阅读次数:
172
题意:给定 n 个点,让你用最长的周长把它们严格包围起来,边长只能用小格子边长或者是小格子对角线。 析:先把每个点的上下左右都放到一个集合中,然后求出一个凸包,然后先边长转成题目的方式,也好转两个点的最小的*根号2加上两者差*1. 代码如下: ...
分类:
其他好文 时间:
2016-08-18 12:30:17
阅读次数:
131
题目地址:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4871
思路:将所有点上下左右四个点构成的集合求一遍凸包,边长不能直接计算(正确结果可能不为凸包)。
边长计算用下列式子:
x=fabs(a.x-b.x)
y...
分类:
其他好文 时间:
2016-08-17 23:14:05
阅读次数:
198
题目地址:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=5383
思路:
type arr=array[1..2,1..2] of int64;
var
x,p:int64;
a,b,c,w:arr;
cas,i,...
分类:
其他好文 时间:
2016-08-17 23:12:57
阅读次数:
353