
ACM
li4951
这个作者很懒,什么都没留下…
展开
-
学ACM算法题有用吗?
有同学提问:学ACM算法题有用吗?===============================================================杨中科老师你好,我想向你咨询下工作的事情。先介绍我的情况 普通本科大二学生,,之前一直在练acm的题,也获得了一些大赛的转载 2011-07-25 11:14:12 · 975 阅读 · 0 评论 -
再次理解DFS(POJ1014)
原题目:http://poj.org/problem?id=1014题目大意:有分别价值为1,2,3,4,5,6的6种物品,输入6个数字,表示相应价值的物品的数量,问一下能不能将物品分成两份,是两份的总价值相等,其中一个物品不能切开,只能分给其中的某一方,当输入六个0是(即没有物品了),这程序结束,总物品的总个数不超过20000 输出:每个测试用例占三行:原创 2012-04-07 10:33:14 · 4826 阅读 · 18 评论 -
POJ1363验证出栈序列问题
题目地址: http://poj.org/problem?id=1363此题只需验证是否为合法的出栈序列。有两个思路:1、每个已出栈之后的数且小于此数的数都必须按降序排列。复杂度O(n^2),适合人脑。2、另一个思路就是直接模拟入栈出栈过程。虽然模拟毫无技巧可言,但复杂度O(n),优于算法1。适合电脑。代码如下:for(i = 0; i < N; i++){ if(in原创 2012-02-29 16:55:56 · 2007 阅读 · 4 评论 -
快速幂的应用
一个非常平常的公式:x^n = (x^(n/2))^2 (n为偶数)x^n = (x^((n-1)/2))^2 * x (n为偶数)这两个公式初中应该就学了。可是似乎他一直没发挥什么作用。事实上他在计算机科学中的作用甚大。可以观察等号左侧的式子对于计算机来说需要计算n-1次乘法,而对于右边的式子只进行了约n/2+1次乘法。这个差别对于计算机来说是巨大的。而且右边的式子中的幂运算还可以进原创 2012-02-23 16:12:33 · 828 阅读 · 0 评论 -
XDOJ最喜欢的数字
Description zyf最喜欢的数字是1!所以他经常会使用一些手段,把一些非1的数字变成1,并为此得意不已。他会且仅会的两种手段是:1.把某个数m除以某个质数p——当然p必须能整除这个数,即m=m/p 2.把某个数m减1,即m=m-1 有一天他突发奇想,想把[a,b]区间中所有的数一个一个地变成1,这是一个巨大的无聊的工程,所以他想知道他最少得花多少操原创 2012-02-23 15:47:34 · 2651 阅读 · 0 评论 -
POJ1050总结 二分+判定
#includeusing namespace std;#define inf 100000000const int MAX = 505;int data[MAX];int isPart[MAX];int M;int K;int calculatePart(int size){ memset(isPart, 0, sizeof(isPart)); int i = M - 1原创 2011-10-09 17:55:51 · 598 阅读 · 0 评论 -
POJ1523求割点
1.概念 所谓割点就是将图中的某点去掉后图变得不连通。这个点就是割点。另外还有割点集的概念同理。就是将这个集合中的点都去掉后图变得不连通,但去掉它的任意子集都不会影响连通性。2.解决方案遍历图中的每个点,将其去掉后,判断图的连通性。当然图的连通性算法就不再阐述了(对所有的点进行深(广)度优先遍历……)原创 2011-10-12 08:41:16 · 623 阅读 · 0 评论 -
记忆化递归
POJ 1579有感。递归是一个非常耗时的操作,递归思想简单,其实是将繁重的任务交给计算机来完成。计算机来记住某个时候的状态,转身去处理新的问题,也就是利用堆栈的原理。频繁的压栈和出栈将耗费大量的计算机资源。例如著名的汉诺塔。在某些递归模型中例如1579,递归过程中可能蕴含之前已经解决过的问题,所以我们完全可以没处理一个新的小问题时,就把这个小问题的结果保存下来。以备后用。这就是记忆化递归!非原创 2011-09-24 10:00:18 · 1985 阅读 · 0 评论 -
学习计算机四年后的疑惑
读了四年计算机专业了,东西也学到了不少,也养成了良好的计算机思维。马上要读研了,突然不知道往哪个方向发展了。搞了几年ACM,收获很大,基本的数据结构算法都比较熟悉。也是从这个过程中练出的良好的计算机思维和悟性。代码经验也挺多的。不过大家都知道ACM只是注重过程性的算法。和做项原创 2011-08-08 10:35:39 · 1001 阅读 · 3 评论 -
POJ1256(字典序,排序函数)
在做POJ1256时牵扯问题如下。按要求(并不是传统的字典序)排序,然后调用next_permutation即可。先说说什么是字典序:官方的定义比较复杂,其实故名思议可以想象咱们英语字典中的单词排列。举个例子如下:假设对于字符集{a,b,c}的字典序就为abcacb原创 2011-09-03 15:22:29 · 3174 阅读 · 0 评论 -
POJ2513 Trie+并查集+欧拉回路
题目大意:给定一系列sticks,每个木棒的两端都涂有颜色,判断是否能够找到将所有的木棒连接起来的方法,使相互连接的木棒的两端的颜色是相同的?分析:画图分析可知,如果形成的图能有一条路径遍历所有的边并且不重复。则达到目的。不由想起欧拉回路(从某个节点出发,不重复的遍历所有路径,回到原点,则为此图的欧拉回路)。而本题中并不要求回到原点。没有欧拉回路要求的苛刻。判断无向图是否有欧拉回路的方原创 2012-04-10 15:19:40 · 3974 阅读 · 0 评论