
ACM/ICPC
wangqs1988
这个作者很懒,什么都没留下…
展开
-
杭电OJ 1023
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1023开始时看不明白题意,后来才知道要参照1022。其实就是求进出栈的先后次序的排列组合,是一个典型的卡特兰数列。涉及到大数运算,为了避免大数的除法,就不用卡特兰数的通项公式解了,直接用递归式解,这样只要写大数的加法和乘法,以下为AC代码。#include #include typedef s原创 2011-11-14 22:05:39 · 299 阅读 · 0 评论 -
杭电OJ 1568
题目: http://acm.hdu.edu.cn/showproblem.php?pid=1568开始用递归的方法做这道题——1亿条数据,超时是显然的,查了论坛的解题报告,原来这个是用斐波那契数列的通项公式解的。维基百科了斐波那契数列,查到了通公式又从论坛上得知这个得先对数运算再指数运算,从而取得高4位,然后就豁然了——关键的运算是 10^(lg(x)-[lg(x)])。以下代原创 2011-11-11 00:23:43 · 362 阅读 · 0 评论 -
杭电OJ 1032
题目:点击打开链接想不出什么太好的方法(比如通过数论……),所以不明白那些0MS的AC是怎么做的。我的方法就是建表,递归……考虑到超出10W的数据没法确定表长了,偷懒用了C++的map模板,查询的cost稍微费些(map的数据结构为红黑树,查询的时间复杂为O(log(n))吧)。以下为15MS的AC代码。#include #include #include using name原创 2011-11-13 21:39:43 · 283 阅读 · 0 评论 -
HDU OJ 2141
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2141 解题的关键在于把判断a + b + c = x转化为a + b = x - c,算出a + b的所有组合,然后快排,二分搜索。 做了个优化,把c也排序,这样能在搜索中不断减少搜索空间,但似乎没快多少。以下代码#include #include #i原创 2011-12-24 18:21:36 · 314 阅读 · 0 评论 -
HDOJ 1044
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1044 题意有点类似于红白机上玩过的吃豆子游戏,呵呵。在规定的时间内逃出迷宫,并带走丢在路上的宝石们,价值尽可能的大。 最直接的想法是以宝石为结点,DFS暴力搜索,这样首先需要求俩宝石的最短路径,用A*算法。 然后就TLE了…… 然后原创 2012-01-15 19:22:53 · 279 阅读 · 0 评论 -
HDOJ 1240,兼谈A*算法之实现
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1240 题目描述很长,其实题意很简单——在一个3维立方体中,求两坐标点间的最短距离。数据规模不大,边长至多为10,也就是一共1000个坐标点,也许用BFS也能A,不过我还是偏爱用更快的A*。于是这道题的重点也就在于写个A*算法,首先贴个A*算法的伪代码(之前转载过,不过没贴全):A原创 2012-01-21 19:27:32 · 354 阅读 · 0 评论 -
HDOJ 1175
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1175 题意简明,连连看,判断两个位置能不能消去。“不好意思,由于我以前没有玩过连连看,咨询了同学的意见,连线不能从外面绕过去的,但事实上这是错的。现在已经酿成大祸,就只能将错就错了,连线不能从外围绕过。”——这句话真搞笑………令解题者少作一步处理,还是不错的(否则需要在棋盘外围加一圈原创 2012-01-20 01:19:29 · 357 阅读 · 0 评论 -
HDU OJ 2438
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2438 题意很简单,求一车辆能否顺利过弯。 这种题只能猜它的“最佳过弯法”,而很难给出严格的数学证明。 就不妨猜测车辆的外侧贴着外直角过弯是最佳的。接下来就是判断车辆内侧是否会越过内直角点了。 不妨设外直角点为原点,左上方为第一象限原创 2011-12-27 22:10:43 · 312 阅读 · 0 评论