
算法竞赛入门经典
李嘉图.M.董
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
孪生素数
孪生素数就是指相差2的素数对,例如3和5,5和7,11和13…。这个猜想正式由希尔伯特在1900年国际数学家大会的报告上第8个问题中提出,可以这样描述:存在无穷多个素数p,使得p + 2是素数。#include <stdio.h>int isprime(int x){int i;for(i=2;i*i<=x;i++)if(x%i==0)return 0;return...转载 2019-04-27 12:40:25 · 2165 阅读 · 0 评论 -
背包问题
增序枚举背包容量会达到什么效果?它会重复的装入某个物品,而且尽可能多的,使价值最大,当然不会不超过背包容量而逆序枚举背包容量:背包中的物品至多装一次,使价值最大,当然不会不超过背包容量1、01背包for(int i=1;i<=n;i++) for(int j=v;j>=volume[i];j--) dp[j]=max(dp[j],dp[j-volume[i]]+...转载 2019-07-17 22:57:06 · 102 阅读 · 0 评论 -
单调队列
给定一个长度为N的整数数列a(i),i=0,1,…,N-1和窗长度k.要求: f(i) = max{a(i-k+1),a(i-k+2),..., a(i)},i = 0,1,...,N-1问题的另一种描述就是用一个长度为k的窗在整数数列上移动,求窗里面所包含的数的最大值。#include <stdio.h>struct date{ int x,y;}v[100...原创 2019-07-17 14:50:09 · 93 阅读 · 0 评论 -
贪心之区间覆盖问题(POJ 1328 Radar Installation)
原文:https://blog.youkuaiyun.com/ac_gibson/article/details/44410041题目大意:海中有n个岛屿,现在想要在海岸线上装设雷达来探测这些岛屿(海岸线相当于x轴,岛屿都在x轴的上方),雷达的探测范围是一个半径为d的圆,已知n个岛屿的坐标,问你最少需要多少雷达才能探测到全部岛屿;如果不能探测到全部岛屿,输出“ -1 ”。Sample Input3 2...原创 2019-07-11 23:51:51 · 173 阅读 · 0 评论 -
贪心算法之多机调度问题
原文:https://blog.youkuaiyun.com/hello_yz/article/details/8794843问题描述:设有n个独立的作业,由m台相同的机器进行加工处理。作业i所需的处理时间为t[i]。任何作业可以在任何一台机器上面加工处理,但未完工之前不允许中断处理。任何作业不能 拆分成更小的 作业。要求给出一种作业调度方案,使所给的n个作业在尽可能短的时间内由m台机器加工处...原创 2019-07-11 23:33:36 · 1286 阅读 · 0 评论 -
贪心算法之活动选择问题
原文:https://blog.youkuaiyun.com/qq_32400847/article/details/51336300有n个需要在同一天使用同一个教室的活动a1,a2,…,an,教室同一时刻只能由一个活动使用。每个活动ai都有一个开始时间si和结束时间fi 。一旦被选择后,活动ai就占据半开时间区间[si,fi)。如果[si,fi]和[sj,fj]互不重叠,ai和aj两个活动就可以被安排在...转载 2019-07-11 22:44:57 · 326 阅读 · 0 评论 -
dfs和bfs走迷宫
数据10 10 //格子行 列 #S######.#......#..# .#.##.##.#.#........##.##.#### ....#....#.#######.# ....#..... .####.###. ....#...G# 0 1 //起点 9 8 //终点输出 22...原创 2019-07-15 21:38:01 · 269 阅读 · 0 评论 -
深度优先搜索算法
原文:https://blog.youkuaiyun.com/younglee2013/article/details/49024821图(graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。无向边:若顶点Vi到Vj之间的边没有方向,则称这条边为无向边(Edge)上图G1是一个无向图,G1={V1,E1},其...转载 2019-07-15 17:19:55 · 285 阅读 · 0 评论 -
倒水问题
原文:https://blog.youkuaiyun.com/u011439807/article/details/9700031有两个容器,容积分别为A升和B升,有无限多的水,现在需要C升水。我们还有一个足够大的水缸,足够容纳C升水。起初它是空的,我们只能往水缸里倒入水,而不能倒出。 可以进行的操作是: 把一个容器灌满;把一个容器清空(容器里剩余的水全部倒掉,或者倒入水缸); 用一个容器的水倒入另外...转载 2019-07-14 21:33:04 · 537 阅读 · 0 评论 -
位运算之寻找数字
原文:https://blog.youkuaiyun.com/deaidai/article/details/78167367位运算基础& 按位与如果两个相应的二进制位都为1,则该位的结果值为1,否则为0| 按位或两个相应的二进制位中只要有一个为1,该位的结果值为1^ 按位异或若参加运算的两个二进制位值相同则为0,否则为1 ~ 取反 ~是一元运算符,用来对一个二进制数按位取反,...原创 2019-07-12 21:41:05 · 313 阅读 · 0 评论 -
蛇形填数
n,要求填成蛇形。例如n=4时方陈为:10 11 12 19 16 13 28 15 14 37 6 5 4输入直接输入方陈的维数,即n的值。(n<=100)输出输出结果是蛇形方陈。样例输入3样例输出7 8 16 9 25 4 3#include <stdio.h>#define MAXN 10int a[MAXN] [MAXN]={0};in...原创 2019-04-23 15:15:17 · 184 阅读 · 0 评论 -
铁轨问题 LIFO
有n节车厢从A方向驶入车站,按进站顺序编号1~n。现让这些火车按照某种特定的顺序进入B方向的铁轨并驶出车站。为了重组车厢,可以借助中转站C。C是一个可以停放任意多节车厢的车站,但由于末端封顶,驶入C的车厢必须按照相反的顺序驶出C。对于每个车厢,一旦从A移入C,就不能再回到A了;一旦从C移入B,就不能回到C了。换句话说,在任意时刻,只有两种选择:A→C和C→B。请编程判断判断:按给定的出...原创 2019-05-04 14:47:27 · 179 阅读 · 0 评论 -
竖式问题
例:找出所有形如abc*de(三位数乘以两位数,均非零。)的算式,使得在完整的竖式中,所有数字都属于一个特定的数字集合。输入数字集合(相邻数字之间没有空格),输出所有竖式。每个竖式前应有编号,之后应有一个空行。最后输出解的总数。具体格式见样例输出(为了便于观察,竖式中的空格改用小数点显示,但你的程序应该输出空格,而非小数点)。样例输入:2357样例输出:<1>…775X…33...转载 2019-04-23 16:00:50 · 135 阅读 · 0 评论 -
卡片游戏
桌上有一叠牌,从第一张牌(即位于顶面的牌)开始从上往下依次编号为1-n。进行以下操作:把第一张牌扔掉,然后把心得第一张放到整叠牌的最后。输入N,输出每次扔掉的牌,以及最后剩下的牌。例如 输入 7输出 1357426#include <stdio.h>int queue[50];int main(){int n,front,rear;scanf("%d",&n);...原创 2019-04-27 22:28:24 · 306 阅读 · 0 评论 -
拓扑排序
原文:https://blog.youkuaiyun.com/j2_o2/article/details/81076825Problem Description糟糕的事情发生啦,现在大家都忙着逃命。但是逃命的通道很窄,大家只能排成一行。现在有n个人,从1标号到n。同时有一些奇怪的约束条件,每个都形如:a必须在b之前。同时,社会是不平等的,这些人有的穷有的富。1号最富,2号第二富,以此类推。有钱人就贿...转载 2019-07-30 14:36:24 · 93 阅读 · 0 评论