• 等级
  • 3419 访问
  • 39 原创
  • 1 转发
  • 229323 排名
  • 7 评论
  • 59 获赞

素数筛(c语言实现)

基本原理筛素数的基本方法是用来筛选出一定范围内的素数素数筛法的基本原理,利用的是素数p只有1和p这两个约数,并且一个数的约数一定不大于本身,素数筛法的过程:把从1开始的、某一范围内的正整数从小到大顺序排列,1不是素数,首先把它筛掉。剩下的数中选择最小的数是素数,然后去掉它的倍数。依次类推,直到筛子为空时结束。模版代码boolisprime[N];//N...

2019-04-03 15:08:07

欧几里德算法(c语言实现)

基本原理欧几里得算法又称为辗转相除法,设两个数a,b则a,b的最大公约gcd(a,b)=gcd(b,a%b)不妨设a>=b,c=gcd(a,b),a=kc,b=jc,则k,j互素(否则c不是a,b的最大公约数),则设r=a%b则a=mb+r,则r=a-mb=kc-mjc=(k-mj)c,因为k,j互素,则k-mj与j互素gcd(a...

2019-04-03 14:46:06

C语言中交换两个数的5种方法

程序中有两个数a,b,其中a=4,b=5,现在希望交换两个数的值,使得a=5,b=4.方法1:使用一个临时变量来进行保存temp=a;a=b;b=temp;方法2:使用加减法来进行交换,这种方法实际上就是先把a+b的结果暂时先保存在变量a中,然后通过这改变后的a和原始的b进行减法就可以得到交换后的b,但是这种方法有一个缺陷,就是a和b都...

2019-03-31 20:54:15

hrbust-1400:汽车比赛(树状数组)

DescriptionXianGe非常喜欢赛车比赛尤其是像达喀尔拉力赛,这种的比赛规模很大,涉及到很多国家的车队的许多车手参赛。XianGe也梦想着自己能举办一个这样大规模的比赛,XianGe幻想着有许多人参赛,那是人山人海啊,不过XianGe只允许最多100000人参加比赛。这么大规模的比赛应该有技术统计,在XianGe的比赛中所有车辆的起始点可能不同,速度当然也会有差异。XianGe想知...

2019-03-21 22:22:42

poj-2352:Stars(树状数组)

DescriptionAstronomersoftenexaminestarmapswherestarsarerepresentedbypointsonaplaneandeachstarhasCartesiancoordinates.Letthelevelofastarbeanamountofthestarsthatareno...

2019-03-21 22:18:05

poj-2492(种类并查集)

DescriptionBackgroundProfessorHopperisresearchingthesexualbehaviorofararespeciesofbugs.Heassumesthattheyfeaturetwodifferentgendersandthattheyonlyinteractwithbugsofthe...

2019-03-21 22:04:56

C++STL学习总结之九:堆heap

前言本文介绍如何使用STL里的heap(堆)算法。第一次接触heap这种数据结构是在大学的数据结构教材上,它是一棵完全二叉树。在STL中,heap是算法的形式提供给我们使用的。包括下面几个函数: make_heap:根据指定的迭代器区间以及一个可选的比较函数,来创建一个heap.O(N) push_heap:把指定区间的最后一个元素插入到heap中.O(logN) ...

2019-03-21 21:32:33

poj-2442(STL二叉堆的应用)

DescriptionGivenmsequences,eachcontainsnnon-negativeinteger.Nowwemayselectonenumberfromeachsequencetoformasequencewithmintegers.It'sclearthatwemaygetn^mthiskindof...

2019-03-21 21:14:05

poj-3253(优先队列)

DescriptionFarmerJohnwantstorepairasmalllengthofthefencearoundthepasture.HemeasuresthefenceandfindsthatheneedsN(1≤N≤20,000)planksofwood,eachhavingsomeintegerlength...

2019-03-21 20:42:24

Hrbust-1073病毒(并查集的简单应用)

Description某种病毒袭击了某地区,该地区有N(1≤N≤50000)人,分别编号为0,1,…,N-1,现在0号已被确诊,所有0的直接朋友和间接朋友都要被隔离。例如:0与1是直接朋友,1与2是直接朋友,则0、2就是间接朋友,那么0、1、2都须被隔离。现在,已查明有M(1≤M≤10000)个直接朋友关系。如:0,2就表示0,2是直接朋友关系。请你编程计算,有多少人要被隔离。Input...

2019-03-21 20:32:20

Hrbust-1287-数字去重和排序(set可轻易解决)

Description用计算机随机生成了N个0到1000000000(包含0和1000000000)之间的随机整数(N≤5000000),对于其中重复的数字,只保留一个,把其余相同的数去掉。然后再把这些数从小到大排序。请你完成“去重”与“排序”的工作Input输入有2行,第1行为1个正整数,表示所生成的随机数的个数:N第2行有N个用空格隔开的正整数,为所产生的随机数。Ou...

2019-03-20 21:33:47

HDU 2408-数塔(动态规划入门)

题目描述2.题目描述738810274445265上图给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,和最大的路径称为最佳路径。求出最佳路径上的数字之和。路径上的每一步只能从一个数走到下一层上和它最近的左边的数或者右边的数。以上样例答案为...

2019-03-20 21:19:15

POJ 1664-放苹果(递归思想)

题目描述把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)注意:5,1,1和1,5,1是同一种分法。输入M和N,且1<=M,N<=10。输出相应的K。例如M=7,N=3时,K=8。分析所有不同的摆放方法可以分为两类:至少有一个盘子空着和所有盘子都不空。我们可以分别计算这两类摆放方法的数目,...

2019-03-20 21:12:58

Hrbust-1178模拟(分数加减)

Input输入包括多组测试用例每行是"a/b-c/d",或"a/b+c/d"的形式。其中a,b,c,d是0-9的整数。输入数据保证合法。Output输出分数结果。注意输出没有多余符号,若结果为正,不需要“+”号。结果应为最简形式,例如结果应为1/2而非2/4、2而非2/1。SampleInput1/4-1/21/3-1/3Sample...

2019-03-20 21:06:12

Hrbust 1180 报数(循环队列)

题目描述有N个人围成一紧接着,指定编报到D的人出列要求同学编程求输入输入包括多组测对于每组用例,接下来N行是每最后是以两个以输出输出所求的顺序样例输入8ZhaoQianSunLiZhouWuZhengWang4,4样例输出ZhengSunWangZhouLiWuQianZhao代码#inclu...

2019-03-20 20:52:14

Hrbust 1549(括号匹配)基础数据结构——栈

题目描述给你一串字符,不超过50个字符,可能包括括号、数字、字母、标点符号、空格,你的任务是检查这一串字符中的(),[],{}是否匹配。输入输入数据有多组,每组数据不超过100个字符并含有(,),[,],{,}一个或多个。处理到文件结束。输出如果匹配就输出“yes”,不匹配输出“no”样例输入sin(20+10){[}]样例输出yesno...

2019-03-20 20:45:42

Hrbust 1548 基础数据结构——循环链表

题目描述n个人想玩残酷的死亡游戏,游戏规则如下:n个人进行编号,分别从1到n,排成一个圈,顺时针从1开始数到m,数到m的人被杀,剩下的人继续游戏,活到最后的一个人是胜利者。请输出最后一个人的编号。输入n和m值。m>1。输出胜利者的编号。样例输入53样例输出4提示第一轮:3被杀第二轮:1被杀第三轮:5被杀第四轮:...

2019-03-20 20:39:10

Hrbust 1547 基础数据结构——单链表

题目描述1997-1998年欧洲西南亚洲区预赛之后,举办了一场隆重的聚会。主办方发明了一个特殊的方式去挑选那些自愿去洗脏碟子的参赛选手。先让那些选手一个挨着一个的排成一条队。每个选手都获得一个编号,那些编号是从2开始的,第一个的编号是2,第二个人的编号是3,第三个人的编号是4,以此类推。第一个选手将被问到他的编号(编号为2)。他将不用去清洗了,直接参加聚会,但是他身后的...

2019-03-20 20:14:04

矩阵快速幂---斐波那契数列

先来实现一个矩阵相乘的函数吧。constintMOD=10000;structmat{inta[2][2];//这里数据范围就用小的示范};matmat_mul(matx,maty)//实现两个矩阵相乘,返回的还是一个矩阵。{matres;//用来表示得到的新的矩阵;memset(res.a,0,sizeof(res.a));...

2019-03-20 19:14:28

快速幂取模(a^b%mod)详细解析

1.快速幂取模的思路:快速幂实现的最基本的理论就是我们离散课上或者数论中学过的一条公式推出的引理。2.引理:积的取余等于取余的积的取余。再在这条引理的基础之上,对指数型数据进行拆分以及合并,从而得到我们用的快速幂算法。3.快速幂具体分析:对a^b进行分析。对于当a和b较小是直接用int或者long存是没有问题的,但是当a和b大到一定程度时,这就不是暴力存就可以...

2019-03-20 19:14:18

灬清皮

无限接近于0的可能性永远不会是0
关注
奖章
  • 持之以恒