自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jackie035

慢慢生活

  • 博客(138)
  • 收藏
  • 关注

原创 算法竞赛宝典 递推算法 妖兽特攻队

【问题描述】妖兽特攻队(frog.cpp/c/pas)NOI 2000不甘心失败的修罗王派出大小各不相同的一队妖兽站在河左岸的石墩(记为A)上,要过到对岸的石礅(记为D)上去执行军事任务。如图8.11所示,河心有几片荷叶(分别记为Y1…Ym)和几个石墩(分别记为S1…Sn)。妖兽站队和移动方法规则如下:(1)每只妖兽只能站在荷叶、石墩或者比它大一号的妖兽背上(统称为合法的落脚点);(2)一只妖兽只...

2018-03-31 11:13:04 369

原创 算法竞赛宝典 递推算法 汉诺塔

//汉诺塔的步数问题,H(n)=H(n-1)*2+1,使用迭代的方法求出通项公式#include<iostream>#include<bits/stdc++.h>using namespace std;int main(){ int n; while(cin>>n)     printf("%d\n",(1<<n)-1); retu...

2018-03-31 10:59:50 615

原创 NYOJ 635 Oh, my goddess

Oh, my goddess时间限制:3000 ms  |  内存限制:65535 KB 难度:3描述 Shining Knight is the embodiment of justice and he has a very sharp sword can even cleavewall. Many bad guys are dead on his sword.One day...

2018-03-30 21:15:34 306

原创 NYOJ 20 吝啬的国度

吝啬的国度 时间限制:1000 ms  |  内存限制:65535 KB 难度:3描述 在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来。现在,Tom在第S号城市,他有张该国地图,他想知道如果自己要去参观第T号城市,必须经过的前一个城市是几号城市(假设你不走重复的路)。输入第一行输入一个整数M表示测试数据共有M(1<=M<=5)组 每组...

2018-03-30 20:06:03 211

原创 算法竞赛经典 递推算法 数的计数

【问题描述】数的计数(people.cpp/c/pas) NOIP2001“修罗王的召唤听见了听见了,黑暗军团的勇士们咆哮了咆哮了,看神国的圣殿动摇了动摇了,我仰天大笑是我们进攻的时候了,哈哈哈哈哈哈……”当漫山遍野响起黑暗军团的战歌时,郁闷的邪狼却在一遍遍地反复计算黑暗军团的总人数。计算方法是这样的,输入一个自然数n(n≤1000),然后对此自然数按照如下方法进行处理:(1)不做任何处理;(2)...

2018-03-30 14:38:12 526

原创 NYOJ 722 数独(DFS+检查)

数独 时间限制:1000 ms  |  内存限制:65535 KB 难度:4描述          数独是一种运用纸、笔进行演算的逻辑游戏。玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个3*3宫内的数字均含1-9,不重复。 每一道合格的数独谜题都有且仅有唯一答案,推理方法也以此为基础,任何无解或多解的题目都是不合格的。       有...

2018-03-29 23:26:02 228

原创 蓝桥杯 历届真题 四平方和

题目描述:四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多4个正整数的平方和。如果把0包括进去,就正好可以表示为4个数的平方和。比如:5 = 0^2 + 0^2 + 1^2 + 2^27 = 1^2 + 1^2 + 1^2 + 2^2(^符号表示乘方的意思)对于一个给定的正整数,可能存在多种平方和的表示法。要求你对4个数排序:0 <= a <= b <= c <...

2018-03-29 16:55:16 359

原创 蓝桥杯 历届真题 剪邮票(枚举+判断连通性)

题目描述:如【图1.jpg】, 有12张连在一起的12生肖的邮票。现在你要从中剪下5张来,要求必须是连着的。(仅仅连接一个角不算相连)比如,【图2.jpg】,【图3.jpg】中,粉红色所示部分就是合格的剪取。请你计算,一共有多少种不同的剪取方法。请填写表示方案数目的整数。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。#include<iostream>#inclu...

2018-03-29 15:52:30 438

原创 蓝桥杯 历届真题 方格填数

   题目描述:如下的10个格子+--+--+--+|  |  |  |+--+--+--+--+|  |  |  |  |+--+--+--+--+|  |  |  |+--+--+--+(如果显示有问题,也可以参看【图1.jpg】)填入0~9的数字。要求:连续的两个数字不能相邻。(左右、上下、对角都算相邻)一共有多少种可能的填数方案?请填写表示方案数目的整数。注意:你提交的应该是一个整数,不要...

2018-03-29 13:21:17 336

原创 蓝桥杯 历届真题 高斯日记

题目标题: 高斯日记大数学家高斯有个好习惯:无论如何都要记日记。他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?高斯出生于:1777年4月30日。在高斯发现的一个重要定理的日记上标注着:5343,因此可算出那天是:1...

2018-03-28 23:24:20 442

原创 算法竞赛宝典 动态规划 货币系统问题(完全背包+一维优化)

【题目描述】货币系统问题(money.cpp/c/pas)    货币是在国家或经济体内的物资与服务交换中充当等价物,或是偿还债务的特殊商品,是用作交易媒介、储藏价值和记账单位的一种工具。魔法世界的货币的历史,可以追溯至史前以物易物的阶段,后来经过金属货币、金银、纸币以及金银本位制度,演化至现代的货币体系,现已知魔法世界的货币系统有V种面值,求组成面值为N的货币有多少种方案。【输入格式】第一行为两...

2018-03-28 17:24:39 596

原创 算法竞赛宝典 动态规划 收益(完全背包)

【题目描述】收益(Profit.cpp/c/pas)  POJ 2063“建太空梯进入太空要1兆亿?”魔法学院的院长瞪大了眼睛。“这只是基础设施的费用,后期还要……”墨老师掰着手指算。“哎呀,现在地主也很穷啊,学院的钱批下来就这么多,你想办法用这笔钱在债券市场上获得最大收益吧。”院长皱着眉头。简单来说,就是你有一笔钱,你要将这笔钱去投资债券,现在有d种债券,每种债券都有一个价值和年收益,债券的价值...

2018-03-28 16:48:19 681

原创 算法竞赛宝典 递推算法 区域划分问题

描述:m条线,其中已经p条线已经相交于一点,则最多可以划分出多少个区域#include<iostream>#include<bits/stdc++.h>using namespace std;typedef long long ll;int main(){ int m,p; ll sum; while(cin>>m>>p) { ...

2018-03-27 11:24:02 397

原创 算法竞赛宝典 递推算法 过河卒

题目描述】如图,A 点有一个过河卒,需要走到目标 B 点。卒行走规则:可以向下、或者向右。同时在棋盘上的任一点有一个对方的马(如上图的C点),该马所在的点和所有跳跃一步可达的点称为对方马的控制点。例如上图 C 点上的马可以控制 9 个点(图中的P1,P2 … P8 和 C)。卒不能通过对方马的控制点。【输入】 键盘输入B点的坐标(n,m)以及对方马的坐标(X,Y){不用判错}【输出】 屏幕输出 一...

2018-03-27 10:54:22 1130

原创 算法竞赛宝典 排序算法 桶排序

//普通版的桶排序#include<cstdio> #include<iostream> #include<bits/stdc++.h>#define N 100000using namespace std; int a[N]; int c[10];int bucket[10][N];int Max,len;void init(int ...

2018-03-27 10:47:16 200

原创 算法竞赛宝典 排序算法 计数排序

//不稳定的计数排序#include<cstdio> #include<iostream> using namespace std; int a[100000]; int b[100000]; void init(int n) { for(int i=1; i<=n; i++) scanf("%d",&am...

2018-03-27 10:44:29 183

原创 算法竞赛宝典 排序算法 冒泡+优化

//冒泡排序在于将每一次的最大(升序)不断沉底,只要当一轮比较中没有发生交换,那么就是已经有序#include<cstdio> #include<iostream> using namespace std; int a[100000]; void print(int n) { for(int i=1; i<=n; i++) ...

2018-03-27 10:36:07 194

原创 算法竞赛宝典 排序算法 快速排序

//嘻嘻嘻,快排#include<cstdio> #include<iostream> using namespace std; int a[100000]; void print(int n) { for(int i=1; i<=n; i++) printf("%d ",a[i]); prin...

2018-03-27 10:31:34 313

原创 算法竞赛宝典 递推算法 军事情报(错排公式)

军事情报Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 16588    Accepted Submission(s): 6909Problem Description大家常常感慨,要做好一件事情真的不容易,确实,失败比成功容易多了!做好“...

2018-03-27 10:07:22 256

原创 算法竞赛宝典 递推算法 极值问题

极值问题Description已知m、n为整数,且满足下列两个条件: (1)m、n∈1,2,3,……,k (2)(n^2-mn-m^2)^2=1 对给定的k,求m^2+n^2的最大值 Sample Input 1995 Sample Output m=987 n=1597分析:由条件2:(n^ 2-mn-m^2)^2=1故而:      (m^2 + mn- n^2)^2=1继续化简:m^2+mn...

2018-03-27 09:53:19 1358

原创 算法竞赛宝典 递推算法 布阵

Problem Description 在一无限大的二维平面中,我们做如下假设:1、  每次只能移动一格;2、  不能向后走(假设你的目的地是“向上”,那么你可以向左走,可以向右走,也可以向上走,但是不可以向下走);3、  走过的格子立即塌陷无法再走第二次;求走n步不同的方案数(2种走法只要有一步不一样,即被认为是不同的方案)。Input 首先给出一个正整数C,表示有C组测试数据接下来的C行,每行...

2018-03-27 09:35:24 254

原创 算法竞赛宝典 递推算法 偶数个3的个数

偶数个3时间限制:1000 ms  |  内存限制:65535 KB 难度:1描述 在所有的N位数中,有多少个数中有偶数个数字3 输入第一行为一个整数T,代表有T组数据。(T<10000) 接下来T行,每行一个正整数N。(1<=N<=1000)输出 每行输出一个整数,即方案数(由于结果可能很大,你只需要输出这个答案mod 12345的值。)。样例输入12样例...

2018-03-27 08:49:59 1144

原创 算法竞赛宝典 排序算法 归并排序

//归并排序(nlog n)#include<cstdio> #include<iostream> using namespace std; int a[100000]; int b[100000]; void print(int n) { for(int i=1; i<=n; i++) printf("%...

2018-03-26 20:32:10 194

原创 算法竞赛宝典 排序算法 插入排序/希尔排序

//插入排序#include<cstdio>#include<iostream>using namespace std;int a[100000];void insert(int n){ for(int i=1; i<=n; i++) { scanf("%d",&a[i]); int j=i-1; while(j>=1 &a...

2018-03-26 20:14:04 242

原创 NYOJ 55 懒省事的小明/合并果子(优先队列)

时间: 1000ms / 空间: 131072KiB / Java类名: Main描述    在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。     每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n-1次合并之后,就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之...

2018-03-26 19:25:41 179

原创 算法竞赛宝典 递归算法 油桶问题

//递归算法#include<iostream>using namespace std;int a[1000];int oil(int n, int m){ if (n == 0 || m < 0)     return 0; else { if (m == a[n]) return 1; else { if (oil(n - 1, m -...

2018-03-26 18:02:19 2124

原创 算法竞赛宝典 递归算法 数字三角形

问题:  给定一个由n行数字组成的数字三角形,如下图所示:              7            3   8          8   1   0       2   7   4   4    4   5   2   6   5   试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大(每一步只能从一个数走到下一层上和它最近的左边的数或者右边的数)。输入:  ...

2018-03-26 17:58:24 510

原创 算法竞赛宝典 递归算法 传球游戏

传球游戏描述上体育课的时候,小蛮的老师经常带着同学们一起做游戏。这次,老师带着同学们一起做传球游戏。 游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球,每个同学可以把球传给自己左右的两个同学中的一个(左右任意),当老师再次吹哨子时,传球停止,此时,拿着球没传出去的那个同学就是败者,要给大家表演一个节目。 聪明的小蛮提出一个有趣的问题:有多少种不同的传球方...

2018-03-26 17:48:35 610

原创 算法竞赛宝典 递归算法 八皇后

一、八皇后问题八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。//朴素检查/*好奇怪的是我用...

2018-03-26 17:42:52 266

原创 算法竞赛宝典 递归算法 打印图形

//打印图形1//找对应坐标的规律时要从整体的指数变化来看,//不能单纯的只看到两个点之间的关系#include<iostream>#include<bits/stdc++.h>using namespace std;bool mp[1000][1000]={0};void print(int n){ int p=pow(3.0,n-1); for(...

2018-03-26 17:36:54 792

原创 算法竞赛宝典 递归算法 分苹果

题目描述:把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法? (5,1,1)和(1,5,1) 是同一种分法。输入:第一行是测试数据的组数n。 以下每行均包含二个整数M和N。输出:对输入的每组数据M和N,用一行输出相应的K。 样例输入27 33 2样例输出82分析:#include<iostream>#include<algorithm>...

2018-03-26 17:12:13 464

原创 算法竞赛宝典 递归算法 拆分自然数

Problem Description任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和。Input输入有多组数据,对于每组数据就一个数n。Output对于每组输入输出n的拆分方法。Sample Input4Sample Output1+1+1+11+1+21+32+2//难理解的递归#include<iostream> #include<cstdio&g...

2018-03-26 16:41:12 709

原创 算法竞赛宝典 递归算法 地盘划分

给出一个矩形的长宽,求出可以折多少个正方形。输入两个正整数,分别是长和宽。【输入样例】3 4【输出样例】4//欧几里得原理#include<iostream>#include<bits/stdc++.h>using namespace std;typedef long long ll;ll territory(ll m,ll n){ if(n==0) ...

2018-03-25 15:09:09 541

原创 算法竞赛宝典 递归算法 棋子移动

题目描述有2n个棋子(n≥4)排成一行,开始为位置白子全部在左边,黑子全部在右边,如下图为n=5的情况:○○○○○●●●●●移动棋子的规则是:每次必须同时移动相邻的两个棋子,颜色不限,可以左移也可以右移到空位上去,但不能调换两个棋子的左右位置。每次移动必须跳过若干个棋子(不能平移),要求最后能移成黑白相间的一行棋子。如n=5时,成为:○●○●○●○●○●任务:编程打印出移动过程。#include&...

2018-03-25 14:36:34 1432

原创 算法竞赛宝典 分治算法 最接近点对问题(二维二分)

问题描述给定平面上n个点,找其中一对点,使得在n个点组成的所有点对中,该点对间的距离最小。二维的情形:选取一垂直线l:x=m来作为分割直线。其中m为s中各点x坐标的中位数。 S1={p∈s∣x(p)≤m}   S2={p∈s∣x(p)>m}      , S=s1∪s2   递归地在S1和S2上解最接近点对问题,我们分别得到S1和S2中的最小距离δl和δ2。现设δ=min(δl,δ2)。若S...

2018-03-25 12:16:02 2087

原创 算法竞赛宝典 分治算法 第k个数(不一样的二分)

题目: N个无序的数(可能数目非常大),选出其中最大的K个数。方法一:对所有元素进行排序,之后取出前K个元素,不提倡使用思路:使用最快排序算法,选择快排 或 堆排时间复杂度:O(n*logn) + O(K) = O(n*logn)特点:需要对全部元素进行排序,K = 1 时,时间复杂度也为O(n*logn)方法二:只需要对前K个元素排序,不需要对N-K个元素进行排序,不提倡使用思路:使用 选择排序...

2018-03-25 11:31:57 386

原创 算法竞赛宝典 分治算法 聪明的质检员

题目:聪明的质监员(qc.pas/cpp/in/out)题目描述小 T 是一名质量监督员,最近负责检验一批矿产的质量。这批矿产共有n 个矿石,从1到n 逐一编号,每个矿石都有自己的重量wi 以及价值vi。检验矿产的流程是:1、给定m 个区间[Li,Ri];2、选出一个参数W;3、对于一个区间[Li,Ri],计算矿石在这个区间上的检验值Yi :这个区间上所有重量大于等于W的矿石数目与它们的质量和的乘...

2018-03-25 10:30:01 278

原创 算法竞赛宝典 分治算法 交叉的梯子(几何公式的推导+二分)

Crossed laddersTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 5209 Accepted: 1980DescriptionA narrow street is lined with tall buildings. An x foot long ladder is rested at the base of the ...

2018-03-25 09:35:49 1504

原创 算法竞赛宝典 分治算法 一元三次方程

一元三次方程求解总时间限制: 1000ms 内存限制: 65536kB 描述 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程。给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在-100至100之间),且根与根之差的绝对值>=1。要求由小到大依次在同一行输出这三个实根(根与根之间留有空格),并精确到小数点后2位。输入 一行,包含四个实数a...

2018-03-25 09:07:12 599

原创 算法竞赛宝典 分治算法 残缺棋盘

//从整体的角度,一步一步递归,一步一步分块分治解决#include<iostream>using namespace std;int chess[1050][1050];int k, x, y;int tmp;void lt(int x, int y){ chess[x][y + 1] = 4; chess[x + 1][y + 1] = 4; chess[x ...

2018-03-25 08:33:50 627

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除