当前搜索:

C++ set学习初步

C++的set容器有着许多方便使用的特性,比如set 可以“过滤”重复的文本单词(数字等),并且从小到大排好序,利用set的qset.count(number)可以返回number在qset中出现的次数(有则是1,无则是0),可以查看最大空间maxsize,查看已用空间size,插入insert(...
阅读(431) 评论(0)

UVA10892 LCM Cardinality(gcd)

题意:给定整数n,问有多少组(a,b)使得lcm(a,b)=n,(3,4),(4,3)算作同一组。 本题n lcm(n,n)=n也算作一组。think about y=x^(0.5) curve. DETAL=(x+0.5)^(0.5)-x^(0.5)=0.5/[(x+0.5)^(0.5)...
阅读(392) 评论(0)

UVA 10943 How do you add?(隔板法)

题目:求多少个组合使得k个不大于n的数(可以取0)的和是n。 主要应用组合数学中的隔板法:将n个物体放进k个篮子里,篮子可以是空的,一共有多少种方法。如果篮子必须是非空的,那么就有C(n-1,k-1)种方法。但这里可以是空的,于是假设再加入k个物体,提前在每个篮子都放上一个,再进行分离。所以C(...
阅读(542) 评论(0)

uva11889 Benefit(gcd)

题目: 给定两个数A和lcm(A,B),求最小的B. 从简单的例子中找到存在的解题思路: 重复那个回溯的过程,2变成了8,,36则变成了9,相反的也能这样:9-->36, 8-->2. #include #include using namespace std; int ...
阅读(334) 评论(0)

uva11388 GCD LCM(数学)

题目: 大意是这样的: 给出两个数gcd和lcm,求出满足条件的a和b,其中a尽可能的小。 I I U C   O N L I N E   C O N T E S T   2 0 0 8 Problem D: GCD LCM In...
阅读(559) 评论(0)

codeforce 492D. Vanya and Computer Game(数学模拟)

题目:http://codeforces.com/problemset/problem/492/D 大意是这样的:两个同时玩游戏,每个人的能力不一样,一秒钟造成的攻击数不同,游戏中有n个怪物,怪物有各自的”血量“(能承受的最大攻击数),问对于每个怪物最后是被谁送上致命一击的?
阅读(497) 评论(0)

codeforce 492C. Vanya and Exams

题目:http://codeforces.com/problemset/problem/492/C 还是数据和问题,注意会超过int,哎,以后常常用long long吧,真是~ #include #include #include #define LL long long using ...
阅读(381) 评论(0)

codeforce 493B. Vasya and Wrestling(多重条件比较)

题本不难,只是要多重处理,另外注意数字和超出int范围。认真读题,好好学习英语~ #include #include #include #define LL long long using namespace std; const int maxn=2e5+1; LL n,q1[maxn],...
阅读(362) 评论(0)

codeforce 493A Vasya and Football

原本只想练练手感,但仍然碰到了麻烦,这题最坑的是被红牌罚下的球员居然能在fouls列表中再次出现,呵呵~注意好这点,认真理清题意后即可顺利完成。 #include #include #include using namespace std; int n,p1[100],p2[100]; //...
阅读(347) 评论(0)

折半查找(二分的两种写法)

二分,一种常用的查找方法,时间复杂度O(log2(n)),二分的思想很重要,常常可以减小算法的时间复杂度。一开始自己只是记住了怎样去写,现在研究了一下,有了些新的体会。二分函数的写法并不是只有固定的那一套:low=0; high=n; if(a[mid]>val)high=mid-1; el...
阅读(582) 评论(0)

最小生成树(prim算法,kruskal算法)

对于边上有权的图来说,边权值和最小的生成树叫做这个图的最小生成树。如果一个图的边权值都不相同那么最小生成树是唯一的。 求无向图的最小生成树主要有prim算法和kruskal算法两个。 prim算法思想:设有两个点的集合:U和T,整个过程就是把T中的点不断放进U中,但是次序影响了树的形成,最佳的次序...
阅读(976) 评论(0)

哈夫曼树构造及编码

哈夫曼树: 树的带权路径长度是树中所有叶子结点的带权路径长度之和。一组具有确定权值的叶结点可以构成多个带权二叉树。带权路径长度最小的二叉树就称作最优二叉树,或者哈夫曼树。通过实践可以发现,哈夫曼树总是把权值大的叶结点放在靠近根结点的地方,权值小的结点放在深度大的地方。哈夫曼算法给出了构造哈夫曼树...
阅读(1830) 评论(0)

二叉树的四种遍历

二叉树的遍历:前序遍历,中序遍历,后序遍历,层次遍历。不同的遍历方式有时是解决某些问题的有效工具,比如一个计算表达式以中序存储在二叉树中,用前序遍历可以得到前缀表达式(波兰表达式),后序遍历可以得到后缀表达式(逆波兰表达式)。而最能直观展现树的二维图形的遍历则是层次遍历。下面是自己的实现代码: ...
阅读(453) 评论(0)

求解逆波兰表达式的值,回文数字的判断&&栈的应用

常规数学表达式的前缀表达式称为波兰表示式,后缀表达式又称逆波兰表达式。对于逆波兰表达式的求解可借助于栈,把数字全部压入栈中,遇到计算符号再弹出两个数,计算结果压入栈中,重复这个过程,最后的数字就是计算结果。 例子: 3-(4+8/2)*3=-21    48/3+12-6*2+7=23 输入文...
阅读(625) 评论(0)

图的拓扑排序

图的拓扑排序是针对有向无环图而言的,对于有向无环图G(环,是指一点经有向路径能回到原点),拓扑排序是把G中所有的顶点排列成一个线性序列,使得任意一对顶点u,v,若存在边,则u在v之前出现。用这种方式产生的序列称之为拓扑序列。一个有向无环图可能有很多的拓扑序列。 无前驱的顶点优先拓扑排序算法: ...
阅读(562) 评论(0)

图的遍历

图的遍历:深度优先遍历,广度(宽度)优先遍历。这两种遍历方式都是基于搜索的DFS和BFS发展来的。时间复杂度相同,但是访问的次序不同。 例子: 深度优先遍历: #include #include using namespace std; const int maxn=101,max...
阅读(342) 评论(0)

图的存储

图的四种存储方式邻接矩阵,前向星,邻接表,链式前向星。 输入文件内容: 8 12 1    2    4 1    6    9 3    1    22 3    2    19 4    3    17 5    8    29 6    1    12...
阅读(343) 评论(0)

hdu 1709 The Balance(母函数)

题意:http://acm.hdu.edu.cn/showproblem.php?pid=1709 组合问题,应用母函数,需要注意的是每种不同的砝码只有一个,可以相加,可以相减。所以,s(x)=(1+x^a)(1+x^b)(1+x^c)---(1+x^z)。 #include #incl...
阅读(356) 评论(0)

hdu 2110 Crisis of HDU(母函数)

题意:http://acm.hdu.edu.cn/showproblem.php?pid=2110 组合问题,需要用到母函数,但是x的指数是由题意决定的,而且是不断变化的。这就需要灵活的使用母函数,而且涉及到取模,不要忘了。 #include #include #include usin...
阅读(298) 评论(0)

素因子分解 (快速筛法&&试除法)

素因子分解的算法有很多,费马因子分解:比试除法更加高效,是计算机中广泛使用的很多更有效的因子分解算法的基础。二次筛法和数域筛法用于数百位的十进制的大数字。而数字越大数域筛法更好。现在暂时仅仅写了最基础的试除法,更好的算法还等着我去学习~~ #include #include using nam...
阅读(982) 评论(0)
    个人资料
    持之以恒
    等级:
    访问量: 37万+
    积分: 9440
    排名: 2419
    我的链接
    最新评论