自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (1)
  • 收藏
  • 关注

原创 素数环

输入正整数n,把整数1,2,3,4,….n组成一个环,使得相邻两个整数之和均为素数,输出时从整数1开始逆时针排列,同一个环恰好输出一次。n<=16 样例输入:6 样例输出: 1 4 3 2 5 6 1 6 5 2 3 4 题目来源:算法竞赛入门经典(第2版) 思路:我们需要dfs一步一个脚印来,对于第一个数字,所有的数字均能填充1-n的数字,然后从第二个数字开始我们判断与之前的数是否为素

2017-04-27 11:37:38 691

原创 斐波那契dp

You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top? Note: Given n will be a positive

2017-04-25 21:54:04 733

原创 杨辉三角与二项式定理

杨辉三角 (a+b)^n展开,多项式展开 (a+b)^0=1 (a+b)^1=a+b (a+b)^2=a^2+2ab+b^2 (a+b)^3=a^3+3a^2b+3ab^2+b^3 显而易见展开式的系数就是杨辉三角的每层的数二维数组形式的杨辉三角根据思路我们杨辉三角的特点我们不难得每一个数据 a[i][j]=a[i-1][j-1]+a[i-1][j] 下面上代码#incldue<io

2017-04-22 10:28:42 3095

原创 扩展欧几里得算法

在介绍扩展欧几里得算法之前我们首先引入欧几里得算法欧几里得算法在最开始接触c或者c++时,我们通常会用来编辑如何计算最大公约数得方法即辗转相除法(欧几里得算法)与更相减损数,辗转相除的关键在于gcd(a,b)=gcd(b,a mod b)它和边界一起构成了下面的程序:int gcd(int a,int b){ return b==0?a:gcd(b,a%b);}此次的递归程序不会溢出,知

2017-04-20 10:42:12 403

原创 STL中随机数的调用

由于我们对我们写的程序需要测试数据,为了我们的程序能够经得起任何考验我们采用随机数库不一定没有bug,使用之前测试库是一个好习惯随机数发生器rand()核心函数是#include<cstdlib>中的rand()函数他生成一个闭区间[0,RAND_MAX]内的均匀随机数(均匀的意思是:该区间内的每一个数字随机被获取的概率相同),其中RAND_MAX至少为32767(2^15-1)这里的随机数是伪随机

2017-04-17 20:11:25 1968

原创 第六届决赛真题

A组第一题标题:方格填数在2行5列的格子中填入1到10的数字。 要求: 相邻的格子中的数,右边的大于左边的,下边的大于上边的。如【图1.png】所示的2种,就是合格的填法。请你计算一共有多少种可能的方案。解法1.暴力解决#include<iostream>#include<algorithm>using namespace std;int a[10] = { 1,2,3,4,5,6,7,8

2017-04-16 11:31:53 486

转载 C++的STL中accumulate的用法

accumulate定义在#include中,作用有两个,一个是累加求和,另一个是自定义类型数据的处理1.累加求和[cpp] view plain copyprint?int sum = accumulate(vec.begin() , vec.end() , 42);  int sum = accumulate(vec.begin(

2017-04-13 09:40:42 697

原创 python学习笔记

闭包性什么是闭包性根据不同的配置信息得到不同的结果,即引用了自由变量的函数 下面我们来看两个函数 1.def make_adder(addend): def adder(augend): return augend + addend return adderp = make_adder(23)q = make_adder(44)print p(100)prin

2017-04-13 09:30:26 445

原创 五大常用算法

动态规划算法一、基本概念动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。二、基本思想与策略基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能的局部解,通过决策保留那些有可

2017-04-10 23:18:08 557

原创 计蒜客模拟赛(五)第九题

计蒜客模拟赛第九题在一个 n×m 的方格地图上,某些方格上放置着炸弹。手动引爆一个炸弹以后,炸弹会把炸弹所在的行和列上的所有炸弹引爆,被引爆的炸弹又能引爆其他炸弹,这样连锁下去。 现在为了引爆地图上的所有炸弹,需要手动引爆其中一些炸弹,为了把危险程度降到最低,请算出最少手动引爆多少个炸弹可以把地图上的所有炸弹引爆。 输入格式 第一行输两个整数 n, m,用空格隔开。 接下来 n 行,每行输入

2017-04-06 23:19:45 1750 4

Devc++,C及C++的API

Devc++的包,解压缩可以直接用,没有任何流氓软件

2017-03-07

空空如也

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

TA关注的人

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