自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (4)
  • 问答 (88)
  • 收藏
  • 关注

原创 机试算法讲解:第32题 并查集是个好东西

/*问题:并查集,定义数组,用双亲表示法表示各棵树。畅通工程输入:城镇数目N(<1000)和道路数目M,城镇从1到N开始编号,N=0时输入结束输入:4 21 34 33 31 21 32 35 23 5999 0 0输出:102998关键:1 输入m要单独输入,不能写成同时要求输入2个数,这样你输入一个数就不起作用了2 在路径压缩中 寻找的是x的父节点

2015-07-31 00:55:58 513

原创 机试算法讲解:第31题 大整数的M进制转N进制

/*将M进制的数X转换为N进制的数输出,2<=M,N<=36,输入时字母部分为大写,输出时为小写,并且有大数据输入:16(M进制) 10(N进制)F(待转换的数)输出:15*/#include #include #include typedef struct BigInterger{ int _digit[1000]; int _size; void init();

2015-07-31 00:54:31 962 1

原创 机试算法讲解:第30题 大整数的阶乘

/*问题:输入一个正整数,输出N的阶乘。本质:高精度乘法:将要乘的小数乘以高精度整数的每一位数并加上来自低位的仅为输入:正整数N(0<=N<=1000)输出:可能包括多组数据,对于每一组输入数据,输出N的阶乘输入:4515输出:241201307674368000关键:1 利用printf("%04d",n)表示输出总位数为4位,当不足4位时,补充02 重载乘号时,注

2015-07-31 00:51:17 576

原创 机试算法讲解:第29题 我也能做高精度整数的加法器,噢耶

/*问题:高精度整数。实现一个加法器,使其能够输出a+b的值输入:两个数a和b,其中a和b的位数不超过1000位输出:多组测试数据,每组数据,输出a+b的值输入:2 61000 0000 0000 0000 0000 1000 0000 0000 0000 0000 0000 0000 000099999999 1输出81000 0000 0000

2015-07-31 00:48:38 794

原创 机试算法讲解: 第28题 快来求a的b次幂

/*问题:快速求a的b次幂。求A^B得最后3位数表示的整数。说明:A^B的含义是"A的B次方"输入:输入数据包含多个测试用例,每个实例占一行,有两个正整数A和B组成(1<=A,B<=10000),如果A=0,B=0,则表示输入数据的结束,不做处理输出:对于每个测试实例,请输出A^B的最后三位表示的整数,每个输出占一行。输入:2 312 66789 100000 0输出:8

2015-07-31 00:46:54 1055

原创 机试算法讲解: 第27题 k次方整除

/*问题:给定n,a求最大的k,使得n!可以被a的k次方整除,但不能被a的k+1次方整除输入:n(2<=n<=1000),a(2<=a<=1000)6 10输出:16!=360.可以被10的1次方整除但是不能被10的2次方整除,思路:累计除以k次为0,第k+1次不为0(错误)1 a整除b,b/a 若a中存在素因数px ,则b也必存在该素因数,且该素因数在b中对应的幂指数不小于在a中

2015-07-31 00:44:30 934 1

原创 机试算法讲解:第26题 分解素因数

/*问题:质因数个数.求正整数N(>1)的质因数的个数。相同的质因数需要重复计算。如120=2*2*2*3*5,共有5个质因数。输入:多组测试数据,每组测试数据的输入时一个正整数N,(1<N<10^9)输入:120输出:5注意:1不是N的质因数:若N为质数,N是N的质因数思路:用素数筛选法预先筛选出可能在题面所给定的数据范围内成为素因数的素数。程序输入待处理数字n时,依次遍历所有小于

2015-07-31 00:41:06 2456

原创 机试算法讲解: 第25题 人人都爱素数筛选法

/*素数筛选法:若一个数不是素数,必定存在一个小于它的素数为其因数。假如已经获得了小于一个数的所有素数,只需确定该数不能被这些素数整除。在获得一个素数时,将它所有的倍数标记成非素数,当遍历到一个数时,它没有被任何小于它的素数标记为非素数时,就认为它是素数。输入:一个整数n,(2<=n<=10000),要求输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数,如果没有,则输出-1。

2015-07-31 00:39:54 680

原创 机试算法讲解:第24题 大水题:谁是素数?

/*素数:只能被自身和1整除的大于1的正整数假设n存在大于等于sqrt(n)的因数y,则z=n/y必同时为n的因数,且其值<=sqrt(n)关键:1要将sqrt(n)的值先计算出来,不能放在循环中,这回导致循环多少次就计算多少次平方根*/#include #include #include bool isPrime(int a){ if(a < 1) { r

2015-07-31 00:36:56 458

原创 机试算法讲解: 第23题 哦,最小公倍数

/*关键:最小公倍数 = 两数乘积/最大公约数*/#include #include #include //求最大公约数int gcd(int a,int b){ if(b==0)//关键:默认b!=0,因为取模的时候b不能为0 { return a; } else { return gcd(b,a%b);//其他情况用递归 }}int main(in

2015-07-31 00:35:41 535

原创 机试算法讲解: 第22题 是你的最大公约数

/*求最大公约数。同事满足a%c=0,b%c=0的最大正整数c。若a,b中有一个为0,则最大公约数为非0数。若a,b均为0,则没有最大公约数关键:1 a=b,b = a%b缩小问题规模输入:49 14输出:7*/#include #include #include int main(int argc,char* argv[]){ int a,b; while(EO

2015-07-31 00:32:21 436

原创 机试算法讲解: 第21题 再谈进制转换

/*求任意两个不同进制非负整数的转换,所给整数在long范围。不同进制的表示符号为(0,1,...,9,a,b,...,f)或者(0,1...,9,A,B,...,F)输入:一行,3个整数a,n,b.a表示其后的n是a进制整数,b表示欲将a进制整数n转换成b进制整数。a,b是十进制整数,2<=a,b<=16输出:该整数转换后的b进制数,字母符号大写表示(0,1,...,9,A,B,...

2015-07-31 00:30:34 444

原创 机试算法讲解:第20题 一起重温小学题:进制转换

/*关键:1打印的时候逆序打印,得到从低位到高位。m进制转换问题。2因为每个数的范围是10 0000 0000,所以只能用long long不会溢出3使用scanf和printf输出long long Yong %lld4必须对0做特殊处理,因此这里用do while循环*/#include #include #include int main(int argc,cha

2015-07-31 00:27:52 511

原创 机试算法讲解: 第19题 DIY我们自己的乘法

/*输入:123 45输出:54 (1*4+1*5+2*4+2*5+3*4+3*5)关键:利用字符串去'0'的投机取巧方法*/#include /*int main(int argc,char* argv[]){ int iNum1; while(EOF!=scanf("%d",&iNum1)) { int iNum2; scanf("%d",&iNum2);

2015-07-31 00:25:09 405

原创 机试算法讲解: 第18题 大家一起猜,这两个序列是同一个二叉搜索树的序列码?

/*问题:二叉搜索树。判断2个序列是否为同一个二叉搜索树序列输入:开始一个数n,(1<=n<=20)表示有n个需要判断,n = 0输入结束。接下去一行是一个序列,序列茬高度小于10,包含(0-9)的数字,没有重复数字,根据这个序列可以构造出一颗二叉搜索树接下去去n行有n个序列,每个序列格式跟第一个序列一样,请判断2个序列是否能组成同一颗二叉搜索树输出:如果序列相同,则输出YES,否则

2015-07-31 00:23:39 1162

原创 机试算法讲解: 第17题 向着炮火前进:二叉排序树咋整啊?

/*问题:输入一系列整数,建立二叉排序树,并进行前序,中序,后续遍历输入:第一行为一个整数n(1<=n<=100),接下来一行包括n个整数输出:对于数据建立二叉排序树,对二叉排序树进行前序、中序和后续遍历。每种遍历结果输出一行,每行最后一个数据之后又一个空格输入:51 6 5 9 8输出:1 6 5 9 81 5 6 8 95 8 9 6 1关键:二叉排序树根节点为空1

2015-07-31 00:12:59 538

原创 机试算法讲解: 第16题 练练你的推理:前序和中序,你能推出后序吗?

/*利用前序和中序,求后续遍历结果输入:FDXEAG(前序)XDE F AG(中序):例如找到F=3(i),则前序的左子树遍历范围是:s1+1到s1+3(i),右子树遍历范围是:s1+3(i)+1到e1输出:XEDGAF(后序)关键:1前序要划分,中序也要划分,前序划分长度为iRootIdx-s2,而中序就是以iRootIdx进行左右划分2每次划分得到的是一个节点的指针3最后

2015-07-31 00:08:32 542

原创 机试算法讲解: 第15题 霍夫曼树是啥树啊?

/*问题:霍夫曼树输入:第一行,输入一个数n,为叶节点个数,节点有权值weight输出:所有节点的值与权值的乘积之和,2<=1000,weight<=100输入:51 2 2 5 9输出:37思路:K个节点K>=2,每次取最小值和次最小值,构成新节点,再放入K=1,该节点为根节点,结束循环关键:1使用小顶堆,用priority_queue,qreater >Q,以前

2015-07-31 00:05:48 554

原创 机试算法讲解: 第14题 实现一个简单计算器

/*问题:简单的计算器,读入只含 +,-,*,/的非负整数计算式,计算表达式的值输入:若干测试用例,每个测试用例占1行,每行<=200个字符,整数和字符之间用一个空格分隔。无非法表达式。遇只含有0的一行时,结束输出输出:输出1行该表达式的值,保留2位小数输入:(1 + 2) 1 2 +(4 + 2 * 5 - 7 / 11)

2015-07-31 00:04:36 1096

原创 机试算法讲解: 第13题 栈之括号匹配

/*问题:括号匹配输入:多组数据,每组一行,一个字符串,只有左右括号和大小写字母,字串长度不超过100输出:输入胡两行,第一行:源字符串,第二行:有$表示不匹配的左括号,?表示右括号,之间用空格思路:使用栈,凡是左括号均进栈,凡是遇到右括号,判断栈顶是否是左括号,不是则说明发生错误,记录错误。输入:)(rttyy())sss)(输出: )(rttyy())sss)( ?

2015-07-31 00:02:16 526

原创 机试算法讲解: 第12题 贪心之我该如何选择:跑男,爸爸去哪儿,好声音,极限挑战

/*题目:尽可能看多的电视节目,时间为整点输入:第一行一个整数n为喜欢看电视的节目总数,下面有n行数据,每一行数据包含2个数据Ti_s,Ti_e表示第i个节目的开始和结束时间n=0表示输入结束,不做处理输出:能看到电视节目的个数输入:121 33 40 73 815 1915 2010 158 186 125 104 142 90排序:下标:0

2015-07-30 23:58:34 1019

原创 机试算法讲解: 第11题 贪心之猫鼠大战

/* 贪心算法问题:M磅猫粮,N个房间,第i个房间放着J[i]的老鼠粮食,需要F[i]磅猫粮给猫来看守,如果给予猫粮:F[i]*a%,则可获得J[i]*a%的老鼠粮食输入:第一行:非负整数 M N,接下来又N行,每一行含有1个非负整数 J[i] F[i]最后一组测试用例为:-1 -1所有的整数 <= 1000对每一行输出:打印出单独的一行,一个经过计算的实数(保留3位小数),老鼠能

2015-07-30 23:55:33 1132

原创 机试算法讲解: 第10题 让我们来查询学生的信息

/*问题:输入N个学生的信息,进行查询输入:401 李江 男 2102 刘唐 男 2303 张军 男 1904 王娜 女 1950203010403输出:02 刘唐 男 2303 张军 男 1901 李江 男 2104 王娜 女 1903 张军 男 19N;学生个数,<=1000,M,查询M次,M<=10000时间复杂度:普通搜索:O(n*m) =

2015-07-30 23:50:41 580

原创 机试算法讲解: 第9题 查找,对了,当然有哨兵

/*问题:输入一个数n,输入n个数值不同的数,输入给定值x,输出x在数组中的下标,从0开始,若不在数组中则输出-1输入:21 30输出:-1思路:用哨兵,从后向前搜索*/#include #include #include int main(int argc,char* argv[]){ int iNum; while(EOF!=scanf("%d",&iNu

2015-07-30 23:49:15 505

原创 机试算法讲解: 第7题 打印一个梯形吧

/*问题:输入高度h,输出高为h,上底边围h的梯形 ------------ -------------- ---------------- ------------------ --------------------思路:由于多出的底边x可以设为任意值,不放设x=h第1行, h h第2行,打印h-1个空格,1个*,然后打印

2015-07-30 23:40:31 1988

原创 机试算法讲解: 第6题 给n个整数,按从大到小的顺序,输出前m大的整数

/*问题:给n个整数,按从大到小的顺序,输出前m大的整数0<m,n<1000000,每个整数[-500000,500000]输入:5 33 -35 92 213 -644输出:213 92 3 思路:先按从小到大用快排排好序,然后输出排好序的数组从最后开始输出m个即可关键:1 已经达到千万数量级,1秒不能解决,必须用哈希,因为数字的范围达到百万级2 哈希针对的是输入数值处

2015-07-30 23:36:17 8075

原创 机试算法讲解: 第5题 读入N名学生的成绩,将获得某一给定分数的学生人数输出

/*问题:读入N名学生的成绩,将获得某一给定分数的学生人数输出输入:第一行:N第二行:N名学生成绩,相邻两数字之间用一个空格间隔第三行:给定分数督导N=0时,结束输入,N<=1000样例:输入380 60 9060285 660560 75 90 55 75750输出:102思路:在给定的数中,找到最大的数,找到小于该最大数的最大质数,然后用每个

2015-07-30 23:32:38 7390

原创 机试算法讲解: 第4题 某一天是星期几?

/*问题:算出一天是星期几思路:找到一个基点,1970年1月1日是星期几,在此基础上算出新日期和旧日期相差多少天,再除以7即可例如19700101是星期1,那么19700108与之相差8-1=7天 [1+7]%7 = 1即为星期一,[1+6]%7=0->转换为星期天 若为1969年12月31日,相差-1天,[1 + (-1)]%7 = 0->认为是星期天,19891230,相差2天,[1

2015-07-30 23:27:01 1139

原创 机试算法讲解: 第3题 求两个日期相差的天数

/*问题:求两个日期相差的天数,连续2天默认为一天。日期形式:YYYYMMDD输入:2011041220110422输出:11思路:方法1:将2个日期都应该化为绝对秒数,然后相减,用绝对秒数之差然后除以24*3600即可易错点:time_t mktime(struct tm* tmptr)double difftime(time_t time1,time_t time2)

2015-07-30 23:21:15 866

原创 机试算法讲解:第2题 结构体之快速排序

/*题目:学生成绩排序:成绩从低到高,姓名字母从低到高(区分大小写),年龄从低到高排序输入:3abc 20 99bcd 19 97bed 20 97输出:bcd 19 97bed 20 97abc 20 99易错点:1对于字符指针,scanf("%s",ps[i].sName)不需要取地址符2对于名字,要指定大小,否则内存访问非法,char sName[128];而

2015-07-30 23:15:46 1633

原创 机试算法讲解:第1题 冒泡排序与快速排序

#include #include //rand()#include #include using namespace std;//自定义降序函数//templatebool compare(int x,int y){ return x > y;}/*样例输入:41 4 3 2101 9 8 5 6 3 4 2 0 729 8,31,60,33,17,

2015-07-30 23:11:18 720

原创 手把手教你:python字符串编码详解

1读写文件:open打开文件,read读取的是str,读取之后需要解码为unicode,用decode()。write()时,若参数为unicode,需要使用你希望写入的编码进行encode。如果是其他编码格式的str,需要先用该str的编码进行decode(),转换成unicode后再使用写入的编码进行encode()。 如果直接将unicode写入到文件,那么将使用源代码文件声

2015-07-12 18:02:03 1617 1

超越c++标准库——boost程序库导论

《Boost程序库探秘:深度解析C++准标准库》深入探讨了其中的许多重要组件,包括迭代器、函数对象、容器、流处理、序列化以及C++语言中最复杂最具威力的模板元编程。

2014-07-29

grafana如何接入gnocchi数据

2017-05-27

配置gnocchi作为Grafana数据源报错

2017-05-18

devstack报错generate-subunit fail

2017-05-08

请教各位朋友cv2的python版本中imwrite无法生成带有中文路径的图片?

2016-06-07

关于Linux的sed命令在行首添加空格的问题?

2016-05-22

Linux:使用sed命令替换时,如何在前面添加四个空格呢

2016-05-22

各位朋友好,请教sed查询到“[client]”这一行后,在这一行下面追加一行新的内容

2016-05-22

各位朋友好,请教ubuntu系统python3.4环境下安装matplotlib报错的解决办法

2016-05-20

请教各位大神,如何用python提取出两幅图像中不同的部分?

2015-12-28

请教朋友们,python中numpy.min(dataset[:,j]) 这句话是什么意思?

2015-12-26

请教各位大神,AutoHotkey如何实现二维数组?

2015-11-29

请教各位算法大神,acm一道题:赋权无向图的最小权值遍历用什么算法(存在负权值)?

2015-11-25

请教各位大神,为什么django下载的zip压缩包文件名中包含中文的就乱码啊?

2015-10-28

请教各位朋友们,为什么html中的video标签不能播放时长大于5s的视频?

2015-10-25

请教朋友们,python3.4如何安装相对应的第三方库

2015-10-08

请教朋友django用filefield上传作品.txt文件报错UnicodeEncodeError

2015-10-08

请教朋友们,django动态改变ImageField,FileField的upload_to

2015-10-07

django如何在用户登录后返回到原来来页面,并保持登陆状态

2015-09-28

django如何将mysql中表的内容通过models.py在网页端显示

2015-09-18

python+django能够同时使用mongodb和mysql两种数据库引擎吗?

2015-09-17

django实现**.zip包下载报错内存使用过大

2015-08-03

无法访问部署在mac服务器到虚拟机Ubuntu端口映射做成的服务器上的网站

2015-07-25

xshell无法通过外网连接VBox中的虚拟机

2015-07-23

苹果笔记本主机如何将文件传送到virtual box中安装的ubuntu虚拟机中

2015-07-22

在ubuntu环境下执行python程序,报错 segment error

2015-07-18

django取出pymongo中存储的中文图片路径后,读取该路径在网页上展示没有出现图片

2015-07-16

读取python遍历中文目录得到的文件路径报错

2015-07-10

python中的os.walk函数为什么遍历带有中文的路径时就失败?

2015-07-09

pynlpir在ubuntu下为什么不能对带有中文路径的文件分词

2015-06-22

struts中的gdc:defineCollection这句话是什么意思

2015-05-13

struts下的jsp文件中html:select 下的各个属性有哪些

2015-05-12

html视频播放进度条上如何加入点号,并且鼠标移动到点号上显示关键帧图片

2015-05-04

如何在html图片上方叠加一个半透明颜色层,并在半透明颜色层上叠加文字

2015-05-03

ffmpeg提取视频中的帧保存为图片的序号如何从0开始

2015-04-30

ffmpeg 截取图片的时间对应于原来视频中的时间点如何获取

2015-04-30

ubuntu环境下使用ffmpeg获取视频总时间的命令该怎么写?

2015-04-30

如何在python中调用ffmpeg的命令行语句

2015-04-30

ffmpeg -vf中的命令参数-vf是什么意思

2015-04-30

use pyffmpeg install on win7,but has errors

2015-04-29

python中unicode对象与str对象中汉字的长度不同这是为什么

2015-04-29

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

TA关注的人

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