关闭
当前搜索:

hdu 1022 Train Problem I (栈的应用)

题意:火车进站问题,判断出栈的顺序。 仅仅是栈的简单应用,熟练掌握即可。 #include #include #include #include using namespace std; stack sta; bool judge=true; int n,cnt,in[10],out[10],p,order[20]; void sempty(){ while(!sta.e...
阅读(285) 评论(0)

扩展欧几里得,逆元初识(poj 1061+codeforce 7C line+hdu 1576 A/B)

扩展欧几里得,逆元。 poj 1061 青蛙的约会. codeforce 7C line hdu 1576...
阅读(416) 评论(0)

整数全排列(旋转法,next_permutation)

读了《C语言名题精选百则技巧篇》中的整数全排列,里面的算法是多样丰富的。看了旋转的基本思路和已经知道的最易用的next_permutation(),自己把两者都实现并且运行了一遍。只有不断学习,观察,猜想,推敲,实践才有可能弄懂算法的奥义。两种方式都产生相同数目的排列,但是次序是不同的。 旋转: #include #include using namespace std; int...
阅读(543) 评论(0)

hdu 2795 Billboard(线段树)

题意:给一个h*w的广告牌,一个单位高度是一行,然后有一些公告贴上去,公告是1*wi的大小的长纸条,优先贴在左上方,如果空间不满足就输出-1,可以的话就输出位置(第几行) 类似的区间问题首先想到的是线段树。但是这里要以行数为着眼点,left是上行数,right是下行数,把wi设为结点内的一个数据成员。最后写出found子函数,水到渠成。 #include #include #includ...
阅读(271) 评论(0)

hdu 1242 Rescue(BFS+优先队列)

起初只是用BFS做,但后来发现问题太多了,起点是一个,但可能有多个士兵,要找到最小的距离即要求每一个子问题的结果都是最小值。用深度优先搜索自然不能每次都返回较小值。而广度优先搜索就像使用了分身术一样,4个方向都有friend去找angel,各自返回自己的最小值,所以思路就是BFS+优先队列。 #include #include #include #include using namespac...
阅读(388) 评论(0)

hdu 4152 ZZY’s Dilemma

题意:详见http://acm.hdu.edu.cn/showproblem.php?pid=4152 暴力,枚举。大致的思路是简单的,就是一种一种情况的比较,找出符合条件的最大习惯总数。当然不用循环,情况是很多的,很复杂。写出一个递归函数,不断比较和更新答案即可。 #include #include #include using namespace std; int N,score[2...
阅读(539) 评论(0)

hdu 1005 number sequence

问题看出来了,只要首先出现1,1,那么循环节也就找到了(两个值决定后面的值,不断推算,这也算是类斐波那契数列的特点吧)。然后取模处理,输出即可。但是,奇怪的是提交后要么wa,要么runtime error.呵呵~不断改进:控制循环,简洁语句,让自己多想不让电脑多干。最终得到了答案: #include #include using namespace std; int f[10001]; int...
阅读(417) 评论(0)

hdu 2039 三角形

题意:给定三条边,请你判断一下能不能组成一个三角形。 初看题目真的不难,但是第一次提交居然错了,提示我Output Limit Exceeded,这是为什么?数组没开小,没有死循环,没用递归……逐步分析知道了是测试数据在作怪,除了特殊的边缘数据,样例数据也具有表达上的迷惑性。这里居然是浮点数,不是整数! 正确的: #include #include #include using nam...
阅读(311) 评论(0)

poj 1401 Factorial

题意:找到N! 结果后面有多少个0. 思考的方向找对了,剩下的问题就会好办得多。得到几个0,也就是几个10相乘,10=2*5(素数表示的唯一性),问题转化成N有几个5因子,每一个5因子 必然有一个2相匹配(2因子比5因子多啊)。所以:15!--》3,  20!--》4,那么25呢?25!=24!*25=24!*5*5--》4+1+1=6 这就产生了子问题,递推公式:f[n]=n/5+f[n/...
阅读(316) 评论(0)

poj1595 prime cuts(快速筛选)

题意:  给定一个数字N,将1到N中的所有质数按照中心值为c的规定输出,规则详见题目。 本题不难,但是要注意这里1也算是素数列中的一员。其它的都是小事儿啦,用快速筛选找到1--1000内所有的素数和合数。然后A了。 #include #include using namespace std; bool notpri[1001]; int prime[1001],cnt=0; voi...
阅读(769) 评论(1)

poj2689筛法应用

题意:输入两个数字L,U,0 完成这道题需要细心,读完题后我们可以找到解决问题的思路:由于”L and U (1<=L< U<=2,147,483,647)“,开一个2147483647的数组显然不能满足内存要求,又由于”The difference between L and U will not exceed 1,000,000.“,我们能够把数组长度设置为1e6+1,怎样筛去L,U间的...
阅读(380) 评论(0)
    个人资料
    • 访问:331298次
    • 积分:8856
    • 等级:
    • 排名:第2517名
    • 原创:575篇
    • 转载:13篇
    • 译文:0篇
    • 评论:36条
    我的链接
    最新评论