15145641

摘要: 卡特兰数源于组合数学,ACM中比较具体的使用例子有,1括号匹配的种数。2在栈中的自然数出栈的种数。3求多边形内三角形的个数。4,n个数围城圆圈,找不相交线段的个数。5给定n个数,求组成二叉树的种数…… 此题就是第4个样例,是裸卡特兰数,但是这里牵扯的大数,可以使用java的大数类解决,但是我这里使用 阅读全文
posted @ 2016-06-08 23:08 icode-xiaohu 阅读(947) 评论(0) 推荐(0) 编辑
摘要: 这是我第一次只要可以这么做,题目中给的精度范围较大,所以可以把圆形的区域直接用小方块拼接近似来表示,maps地图开的越大,精度越高,但同时耗时也更多。 代码如下: 阅读全文
posted @ 2016-06-08 21:23 icode-xiaohu 阅读(393) 评论(0) 推荐(0) 编辑
摘要: 题意:感觉题意不太好懂,题目并不难,就是给一些p和e,p是素数,e是指数,然后把这个数求出来,设为x,然后让我们逆过程输出x-1的素数拆分形式,形式与输入保持一致。 思路:素数打表以后正常拆分即可。 注意:输入过程需要优化,我以前经常使用字符串模拟的方式,后来发现那种方法比较笨,还是下面的方法简洁; 阅读全文
posted @ 2016-06-08 19:17 icode-xiaohu 阅读(494) 评论(0) 推荐(0) 编辑
摘要: 题意:已知青蛙1位置x,速度m,青蛙2位置y,速度n,纬线长度为l,求他们相遇时最少跳跃次数。 思路:设最小跳跃次数为k,则(x + k*m) - (y + k*n) = q*l;经过整理得到k*(n-m) + q*l = x - y;此时k和l为变量。欧几里得扩展中有线性方程a*x+b*y = c 阅读全文
posted @ 2016-06-08 17:05 icode-xiaohu 阅读(273) 评论(0) 推荐(0) 编辑