自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 收藏
  • 关注

原创 将博客搬至CSDN

将博客搬至CSDN

2019-06-10 16:55:10 163

原创 加载、显示、修改、保存图像---opencv

#include<iostream>#include<opencv2\opencv.hpp>using namespace cv;using namespace std;int main(void){ Mat originalImage = imread("C:\\code\\c_plus_plus\\opencv\\test_image\\beauty.j...

2019-04-17 20:35:24 174

原创 初学opencv

opencv是计算机视觉中一个很出名的开源的库,第一次接触opencv,我们尝试使用opencv去加载一张图像。代码如下。#include<iostream>#include"opencv2/highgui/highgui.hpp"using namespace cv;using namespace std;int main(void){ Mat originalIma...

2019-04-17 18:25:29 221

转载 Prime算法 与 Kruskal算法的时间复杂度比较

评测环境:WindowsXP,FreePascal2.40,Pentium(R) Dual-Core CPU T4300@2.10GHz,2G内存通过上图可以看出:1.Prim在稠密图中比Kruskal优,在稀疏图中比Kruskal劣。2.Prim+Heap在任何时候都有令人满意的的时间复杂度,但是代价是空间消耗极大。【以及代码很复杂>_<】3.时间复杂度并不能反映出一个算...

2019-03-18 21:15:39 3197

原创 C++交换两个指针内容

int temp;//假设*p,*q已经初始化temp=*p; *p=*q; *q=temp;

2019-03-14 23:55:37 1439

转载 负数在计算机中怎样存储

一、什么是原码、反码、补码?分为:正数 和负数(包括正浮点数,和负浮点数)规定最高位位符号位正数为0,负数为1(原因下文解释)原码:10进制转换成2进制是原码,只不过正数的原码是本身符号位为0,负数的原码符号位为1(以下篇幅均以单字节为例:10进制1的原码是0000 0001,10进制-1的原码是1000 0001)。反码: 正数的反码是本身,负数的反码是负数的原码0变为1,1变为0 &...

2019-02-25 15:39:33 253

转载 res下的anim和animator文件夹

anim文件夹下存放tween animation和frame animation;xml文件里只有scale、rotate、translate、alpha、set五个标签;在代码中使用AnimationUtils.loadAnimation()方法加载;使用mView.setAnimation(mAnimation)为mView加载动画;使用mView.startAnimation()开启动画;...

2019-02-07 16:44:49 269

转载 button的OnClickListener的三种实现方法

onclick事件的定义方法,分为三种,分别为在xml中进行指定方法;在Actitivy中new出一个OnClickListenner();实现OnClickListener接口三种方式。代码分别如下:1. xml指定onclick事件,这种方式比较适用于指定的button,能使java代码相对简化一些:xml文件中:&lt...

2019-01-22 10:53:56 346 6

原创 分巧克力 第八届蓝桥杯

儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形。为了公平起见,小明需要从这 N 块巧克力中切出K块巧克力分给小朋友们。切出的巧克力需要满足:1. 形状是正方形,边长是整数 2. 大小相同 例如一块6x5的巧克力可以切出6块2x2的巧克力或者2块3x3的巧克力。当然小朋友们都希望得到的巧克力

2018-03-30 20:39:07 231

原创 比赛名次(Race,UVa12034)组合,递推

A、B两人赛马、最终名次有3种可能:并列第一;A第一B第二;B第一A第二。输入n(1<=N<=1000),求n人赛马时最终名次的可能性的个数除以10056的余数。分析:见刘汝佳紫书第二版332页,设答案为f(n).假设第一名有i个人,有C(n,i)种可能性,接下来有f(n-i)种可能性,因此答案为∑C(n,i)f(n-i)。#include <iostream>#include <cstdio>

2018-03-30 17:21:09 551

原创 第八届蓝桥杯 日期问题

标题:日期问题小明正在整理一批历史文献。这些历史文献中出现了很多日期。小明知道这些日期都在1960年1月1日至2059年12月31日。令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的,有采用月/日/年的,还有采用日/月/年的。更加麻烦的是,年份也都省略了前两位,使得文献上的一个日期,存在很多可能的日期与其对应。 比如02/03/04,可能是2002年03月04日、2004...

2018-03-30 11:10:10 249

原创 set集合容器的妙用(用于去重,排序)

set中自定义比较函数 使用insert()将元素插入到集合中去的时候,集合会根据设定的比较函数将该元素放到该放的节点上去。在定义集合的时候,如果没有指定比较函数,那么采用默认的比较函数(按键值又小到大的顺序插入元素)。编写比较函数的两张方法:1.如果元素不是结构体,那么可以编写比较函数。#include <iostream> #include <set> #include <iterat

2018-03-30 08:47:52 1464

原创 承压计算

标题:承压计算X星球的高科技实验室中整齐地堆放着某批珍贵金属原料。每块金属原料的外形、尺寸完全一致,但重量不同。 金属材料被严格地堆放成金字塔形。 7 5 8 7 8 8 9 2 7 2

2018-03-29 20:49:57 2872

原创 等差素数列

2,3,5,7,11,13,….是素数序列。 类似:7,37,67,97,127,157 这样完全由素数组成的等差数列,叫等差素数数列。 上边的数列公差为30,长度为6。2004年,格林与华人陶哲轩合作证明了:存在任意长度的素数等差数列。 这是数论领域一项惊人的成果!有这一理论为基础,请你借助手中的计算机,满怀信心地搜索:长度为10的等差素数列,其公差最小值是多少?注意:需要...

2018-03-29 20:45:33 404

原创 购物单 蓝桥杯 填空题

标题: 购物单小明刚刚找到工作,老板人很好,只是老板夫人很爱购物。老板忙的时候经常让小明帮忙到商场代为购物。小明很厌烦,但又不好推辞。这不,XX大促销又来了!老板夫人开出了长长的购物单,都是有打折优惠的。 小明也有个怪癖,不到万不得已,从不刷卡,直接现金搞定。 现在小明很心烦,请你帮他计算一下,需要从取款机上取多少现金,才能搞定这次购物。取款机只能提供100元面额的纸币。小明想尽可能少取些现金,

2018-03-29 19:41:25 517

原创 连通性(DFS)

给定一个方阵,定义连通:上下左右相邻,并且值相同。 可以想象成一张地图,不同的区域被涂以不同颜色。 输入: 整数N, (N<50)表示矩阵的行列数 接下来N行,每行N个字符,代表方阵中的元素 接下来一个整数M,(M<1000)表示询问数 接下来M行,每行代表一个询问, 格式为4个整数,y1,x1,y2,x2, 表示(第y1行,第x1列) 与 (第y2行,第x2列) 是否连通。 连通

2018-03-28 20:44:38 529

原创 分酒问题(bfs)

有4个红酒瓶子,它们的容量分别是:9升, 7升, 4升, 2升 开始的状态是 [9,0,0,0],也就是说:第一个瓶子满着,其它的都空着。允许把酒从一个瓶子倒入另一个瓶子,但只能把一个瓶子倒满或把一个瓶子倒空,不能有中间状态。 这样的一次倒酒动作称为1次操作。假设瓶子的容量和初始状态不变,对于给定的目标状态,至少需要多少次操作才能实现? 本题就是要求你编程实现最小操作次数的计算。输入:最终状态

2018-03-28 20:29:23 3378 1

原创 蓝桥杯 移动距离

移动距离X星球居民小区的楼房全是一样的,并且按矩阵样式排列。其楼房的编号为1,2,3… 当排满一行时,从下一行相邻的楼往反方向排号。 比如:当小区排号宽度为6时,开始情形如下:1 2 3 4 5 6 12 11 10 9 8 7 13 14 15 …..我们的问题是:已知了两个楼号m和n,需要求出它们之间的最短移动距离(不能斜线方向移动)输入为3个整数w m n,空格分开,都在

2018-03-26 17:13:08 864

原创 蓝桥杯 加法变乘法 (填空题)

加法变乘法我们都知道:1+2+3+ … + 49 = 1225 现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015比如: 1+2+3+…+10*11+12+…+27*28+29+…+49 = 2015 就是符合要求的答案。请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。注意:需要你提交的是一个整数,不要填写任何多余的内容。思路:这道题目拿下

2018-03-26 10:51:40 277

原创 李白打酒

标题:李白打酒话说大诗人李白,一生好饮。幸好他从不开车。一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱:无事街上走,提壶去打酒。逢店加一倍,遇花喝一斗。这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。 请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:babaabbabbabbbb 就是合理的次序。像这样的答案一共有多少呢?请你计算出所有

2018-03-25 21:10:28 200

原创 2014年第五届——第一题:啤酒和饮料(水题不水)(注意浮点数精度)

啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。 我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。注意:答案是一个整数。请通过浏览器提交答案。 不要书写任何多余的内容(例如:写了饮料的数量,添加说明文字等)。思路:水题不水,本来我的代码是这样的。#include<iostream>using namespace std;int main(){for(

2018-03-25 19:47:32 497 6

原创 【绝对值排序】 (C++描述)(利用两个库函数——abs()求绝对值 和 sort()快排)

#include <stdio.h>#include <cstdlib>#include <algorithm>using namespace std;bool compare(int a,int b){ return abs(a)>abs(b);}int main() { int n; int a[100]; int i; while (scanf(

2018-03-25 15:34:02 1221

原创 翻硬币(水题不水)

题目标题:翻硬币小明正在玩一个“翻硬币”的游戏。桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。比如,可能情形是:**oo***oooo如果同时翻转左边的两个硬币,则变为:oooo***oooo现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢?我们约定:把翻动相邻的两个硬币叫做一步

2018-03-25 02:20:31 345

原创 错误票据(水题不水)

标题:错误票据某涉密单位下发了某种票据,并要在年终全部收回。每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。你的任务是通过编程,找出断号的ID和重号的ID。假设断号不可能发生在最大和最小号。要求程序首先输入一个整数N(N<100)表示后面数据行数。 接着读入N行数据。

2018-03-25 02:15:27 233

原创 文章标题C/C++输入过程中检测回车符作为程序输入结束的若干问题

C/C++程序中经常在输入过程中通过判断是否输入回车符来判断程序是否结束。针对此应用,对存在的若干问题进行说明。1.示例程序1——C语言1.1 程序源码 输入一系列未知个数的数字,然后输出max ,min和average。#include <iostream> #include <math.h> #include <time.h> using namespace std; #pra

2018-03-24 20:17:13 645

原创 奇怪的比赛

奇怪的比赛 某电视台举办了低碳生活大奖赛。题目的计分规则相当奇怪: 每位选手需要回答10个问题(其编号为1到10),越后面越有难度。答对的,当前分数翻倍;答错了则扣掉与题号相同的分数(选手必须回答问题,不回答按错误处理)。 每位选手都有一个起步的分数为10分。 某获胜选手最终得分刚好是100分,如果不让你看比赛过程,你能推断出他(她)哪个题目答对了,哪个题目答

2018-03-23 23:42:21 340 2

原创 蓝桥杯 填空题 比酒量

有一群海盗(不多于20人),在船上比拼酒量。过程如下:打开一瓶酒,所有在场的人平分喝下,有几个人倒下了。再打开一瓶酒平分,又有倒下的,再次重复…… 直到开了第4瓶酒,坐着的已经所剩无几,海盗船长也在其中。当第4瓶酒平分喝下后,大家都倒下了。等船长醒来,发现海盗船搁浅了。他在航海日志中写到:“……昨天,我正好喝了一瓶…….奉劝大家,开船不喝酒,喝酒别开船……”请你根据这些信息,推断开始有多少人,每一轮

2018-03-23 23:37:56 515

原创 古堡算式 结果填空

福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式: ABCDE * ? = EDCBA 他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!” 华生:“我猜也是!” 于是,两人沉默了好久,还是没有算出合适的结果来。 请你利用计算机的优势,找到破解的答案。 把 ABCDE 所代表的数字写出来。 答案写在“解答.txt”中,不要写在这里! 参考答案:21978 本人思路:纯

2018-03-23 22:58:33 260

原创 蓝桥杯 结果填空 微生物增殖

假设有两种微生物 X 和 YX出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。现在已知有新出生的 X=10, Y=89,求60分钟后Y的数目。如果X=10,Y=90 呢?本题的要求就是写出这两种初始条件下,60分钟后Y的数目。题目的结果令你震惊吗?这不是简单的数字游戏!真实的生物圈有着同样脆弱的

2018-03-23 20:43:03 196

原创 蓝桥杯 取球游戏(博弈论)

今盒子里有n个小球,A、B两人轮流从盒中取球,每个人从盒子中取出的球的数目必须是:1,3,7或者8个。 A先取球,然后双方交替取球,直到取完。 被迫拿到最后一个球的一方为负方(输方) 请编程确定出在双方都不判断失误的情况下,对于特定的初始球数,A是否能赢? 程序运行时,从标准输入获得数据,其格式如下: 先是一个整数n(n<100),表示接下来有n个整数。然后是n个整数,每个占一行(整数<1

2018-03-23 20:28:23 758

原创 迷宫问题(求最短路径)

...1111111111111111111111111111111.111111........1111111111.111111.111111..111.11111111.....111111.11111111111.1111111111.11111111.111111.................11111111.111111.11111111111.11111.111111.

2018-03-22 21:34:47 1234

原创 C/C++ 字符数组的输入输出

字符数组就是char数组,当维度是一维是可以当做“字符串”,当维度是二维时可以当成是字符串数组,即若干字符串。字符数组的输入除了使用scanf外,还可以使用getchar或者gets;其输出除了使用printf外,还可以使用putchar或者puts。(1)scanf输入,printf输出scanf对字符串的输入有%s和%c两种格式。%c格式用来输入单个字符,它能够识别空格和换行符并将其保存到字符数

2018-03-22 20:42:07 7388

原创 格子刷油漆(动态规划(递推))

X国的一段古城墙的顶端可以看成 2*N个格子组成的矩形(如图所示) 现需要把这些格子刷上保护漆。你可以从任意一个格子刷起,刷完一格,可以移动到和它相邻的格子(对角相邻也算数),但不能移动到较远的格子(因为油漆未干不能踩!)比如:a d b c e f 就是合格的刷漆顺序。 c e f d a b 是另一种合适的方案。当已知 N 时,求总的方案数。当N较大时,结果会迅速增大,请把结果对 10000

2018-03-22 09:38:50 598

原创 大数乘法包含大数加法(分治法)

题目: 用串的形式表示大数的乘法。即求类似: “23234845847839461464158174814792” * “6457847285617487843234535” 要求结果返回一个串。思路:大数乘法的思路就是把一个长的数字串拆分成两个部分,子串a1和子串a2,然后结果就是a1+00…000+a2。递归的边界条件就是当每个子串的长度都小于等于4的时候,就可以通过直接*运算返回结果。

2018-03-21 19:48:46 671

原创 C++中string和Int的相互转换

在算法竞赛中处理长数据的时候,我们往往采用string去存储一个数字,因为C++不像Java有BigInteger类,所以,string和Int的转换需要用到特殊的函数。只介绍最常用的方法。Int->string(需要包含sstream头文件)#include<iostream>#include<sstream>using namespace std;int a = 1234;stringst

2018-03-21 17:55:28 182

原创 最大子序列和(分治求法)

这已经是一道家喻户晓的题了,给出一个数组,里面是一串数字,求出子序列中和最大的,输出这个和。思路:这道题有很多经典解法,其中最典型应该是动态规划,而我们今天要讨论的是用二分法怎么求解这道题。#include<iostream>using namespace std;int aleng;int f(int a[],int begin,int end){ if(end-begin==1){

2018-03-20 21:29:42 1410

原创 二分查找(分治法)

给定一个有序数组a,要求在a中找出一个比x大一点的数的位置。 思路:把一个大的数组拆分成左右两部分,而对于二分查找,有一个小技巧会省去小区间边界一些麻烦,那就是每划分的小边界都是一个左闭右开的区间,也就是[left,right);#include<iostream>using namespace std;int aleng;//含有begin,不含end; int f(int a[],in

2018-03-20 21:15:51 2143

原创 一道题看懂递归、(深度搜索)dfs、记忆化搜索、动态规划(DP)的差别!

有一个层数为n(n<=1000)的数字三角形。现有一只蚂蚁从顶层开始向下走,每走下一级,可向左下方向或右下方向走。求走到底层后它所经过数字的总和的最大值。 【输入格式】 第一个整数为n,一下n行为各层的数字。 【输出格式】 一个整数,即最大值。 【输入样例 】 5 1 6 3 8 2 6 2 1 6 5 3 2 4 7 6 【输出样例】 23 【样例说明】 最大值=1+

2018-03-17 12:02:01 8929 11

原创 滑动窗口的最小值问题

滑动窗后的最小值问题。输入正整数k和一个长度为n的整数序列A1,A2,A3,…,An。定义f(i)表示从元素i开始的连续k个元素的最小值,即f(i)=min{Ai,Ai+1,…,Ai+k−1}。要求计算f(1),f(2),f(3),…,f(n−k+1)。例如,对于序列5,2,6,8,10,7,4,k=4,则f(1)=2,f(2)=2,f(3)=6,f(4)=4。思路:假设窗口中有两个元素1和2,且1

2018-03-17 10:39:42 839

原创 C++中queue的用法

基本操作:push(x) 将x压入队列的末端pop() 弹出队列的第一个元素(队顶元素),注意此函数并不返回任何值front() 返回第一个元素(队顶元素)back() 返回最后被压入的元素(队尾元素)empty() 当队列为空时,返回truesize() 返回队列的长度使用方法:头文件:#include <queue>声明方法:1、普通声明queue<int>q;2、结构体struct node

2018-03-17 09:01:14 2718

空空如也

空空如也

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

TA关注的人

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