自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

少说,多做。

少说,多做。

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

原创 第六次课 课上代码

oj的使用Python Split函数(优点:抽象、简洁。举例:str\int\float\abs   具体实现) n=input().split(" ")3 4>>> print(int(n[0])+int(n[1]))7>>> print(1+2+3+4+5)15   l=[1,2,3,4,5]>>...

2018-08-21 22:50:32 4256 22

原创 第五次课 课上代码

第五次 双重循环——排序(复习)While循环Break continue字符串(len,取值改值,格式化)列表生成式>>> for i in range(4):    for j in range(4):        print(i,j)        0 00 10 20 31 01 11 21 32 02 12 2...

2018-08-19 21:41:00 4267 30

原创 算法指导图

   

2018-08-19 13:52:36 14535 20

原创 dp打开思路4:POJ1189 UVA12511 HDU2845 HBCPC K

POJ1189http://poj.org/problem?id=1189怎么说呢,不算难,但是容易出问题我一开始的思路是,第一个钉子只有一种情况,然后下面每个钉子:左边有钉子就加左边的情况数,右边有钉子就加右边的情况数,上边没钉子就加就加上上面的情况。(加情况均是因为小球可以到这里)我们想到的就是概率问题,这样用情况数量做的话,情况数量统计的确实没错,我想最后把某个位置情况除以总...

2018-08-19 13:48:37 4617 30

原创 输入输出外挂

板子不解释//适用于正负整数template <class T>inline bool scan_d(T &ret){ char c; int sgn; if(c=getchar(),c==EOF) return 0; //EOF while(c!='−'&&(c<'0'||c>'9')) c=getchar();...

2018-08-19 00:06:27 3870 7

原创 dp打开思路3:HDU1069 POJ3616 POJ1088

HDU 1069题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1069题意:把给定的长方体(不限)叠加在一起,叠加的条件是,上面一个长方体的长和宽都比下面长方体的长和宽短;求这些长方体能叠加的最高的高度.(其中(3,2,1)可以摆放成(3,1,2)、(2,1,3)等).思路:其实就是求最长的单调递减序列。在长和宽的递减下,求最大能得出...

2018-08-18 17:54:37 4895 53

原创 动态规划-背包是否装满

很简单但是需要特别注意的,一定不要错。背包:有n 种不同的物品,每个物品有两个属性,v体积,c价值,现在给一个体积为 m 的背包,问最多可带走多少价值的物品。状态转移方程dp[i][j]=max(dp[i-1][j],dp[i-1][j-v[i]]+c[i])dp[i-1][j]表示不放第i件物品的最大价值,dp[i-1][j-v[i]]+c[i]表示放第i件物品的最大价...

2018-08-17 18:17:17 7819 48

原创 动态规划概述

注:第一次看不需要全理解,以后动态规划做多了,再回来看看,会有更深的理解先符上其它文章,看完这篇就可以开始看这些咯。萌新: https://blog.csdn.net/hebtu666/article/details/79912328入门: ...

2018-08-17 14:51:44 4516 49

原创 归并-求逆序数

考虑1,2,…,n (n <= 100000)的排列i1,i2,…,in,如果其中存在j,k,满足 j < k 且 ij > ik, 那么就称(ij,ik)是这个排列的一个逆序。  一个排列含有逆序的个数称为这个排列的逆序数。例如排列 263451 含有8个 逆序(2,1),(6,3),(6,4),(6,5),(6,1),(3,1),(4,1),(5,1),因此该排列的逆 序...

2018-08-17 10:36:07 4720 10

原创 快排-前m大元素

描述 给定一个数组包含n个元素,统计前m大的数并且把这m个数从大到小输 出。  输入 第一行包含一个整数n,表示数组的大小。n < 100000。第二行包含n个整数,表示数组的元素,整数之间以一个空格分开 。每个整数的绝对值不超过100000000。第三行包含一个整数m。m < n。输出 从大到小输出前m大的数,每个数一行。 排序后再输出,复杂度 O(nlogn)...

2018-08-17 10:14:14 4374

原创 快排-荷兰国旗

在使用partition-exchange排序算法时,如快速排序算法,我们会遇到一些问题,比如重复元素太多,降低了效率,在每次递归中,左边部分是空的(没有元素比关键元素小),而右边部分只能一个一个递减移动。结果导致耗费了二次方时间来排序相等元素。这时我们可以多分一个区,即,小于区,等于区,大于区。(传统快排为小于区和大于区) 下面我们通过一个经典例题来练习这种思想。荷兰国旗问题”荷...

2018-08-17 10:00:42 4824

原创 python基础小白题5

题目045:统计 1 到 100 之和。'''def tm045(): ''' 【个人备注】:简单,但官网有人写的更简单 ''' s = 0 for i in range(1,101): s+=i print(s) # 更简洁的方法 print(sum(range(1,101)))...

2018-08-16 22:00:48 3308 30

原创 python基础小白题4

题目031:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。'''def tm031(): ''' 【个人备注】:按照题意要求实现了就行 ''' week = ['monday','tuesday','wednesday','thursday','friday','saturday','sunday'] ...

2018-08-16 21:58:11 3020 44

原创 python基础小白题3

题目021:猴子吃桃问题猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。'''def tm021(): '''第十天num=1个,第九天必然是4个:4/2-1=1,也就是(num+1)*2=4...

2018-08-16 21:56:30 3344 42

原创 python基础小白题2

题目11:判断101-200之间有多少个素数,并输出所有素数。num=[]for i in range(100,201): j=i//2 for k in range(2,j): if i%k==0: break else: num.append(i)print...

2018-08-16 21:42:50 4140 43

原创 python基础小白题

题目1:有1、2、3、4四个数,能组成多少个互不相同且无重复的三位数?都是多少?list_num=[1,2,3,4]all_num=[]for i in list_num: for j in list_num: for k in list_num : if (i!=j) and (i!=k) and (j!=k): ...

2018-08-16 21:41:11 3694 67

原创 二叉搜索树实现

本文给出二叉搜索树介绍和实现 首先说它的性质:所有的节点都满足,左子树上所有的节点都比自己小,右边的都比自己大。 那这个结构有什么有用呢?首先可以快速二分查找。还可以中序遍历得到升序序列,等等。。。基本操作:1、插入某个数值2、查询是否包含某个数值3、删除某个数值 根据实现不同,还可以实现其他很多种操作。 实现思路思路:前两个操作很好想,就是...

2018-08-16 14:30:59 4063 34

原创 堆的简单实现

关于堆不做过多介绍堆就是儿子的值一定不小于父亲的值并且树的节点都是按照从上到下,从左到右紧凑排列的树。(本文为二叉堆)具体实现并不需要指针二叉树,用数组储存并且利用公式找到父子即可。父:(i-1)/2子:i*2+1,i*2+2插入:首先把新数字放到堆的末尾,也就是右下角,然后查看父的数值,需要交换就交换,重复上述操作直到不需交换删除:把堆的第一个节点赋值为最后一个节点的...

2018-08-15 16:48:44 3227 22

原创 python基础技巧总结(五)

前四期到博客找:https://blog.csdn.net/hebtu666我们继续说一些好用的函数splitPython split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则仅分隔 num 个子字符串。语法:str.split(str="", num=string.count(str))简化:str.split("")结合第四期所学知识...

2018-08-15 11:31:31 4707 18

原创 python基础技巧总结(四)

前三期请到我博客里找https://blog.csdn.net/hebtu666 我们继续总结except的用法和作用try/except: 捕捉由PYTHON自身或写程序过程中引发的异常并恢复except: 捕捉所有其他异常except name: 只捕捉特定的异常except name, value: 捕捉异常及格外的数据(实例)except (name1,...

2018-08-15 10:49:10 4511 32

原创 python基础技巧总结(三)

前两篇文章:https://blog.csdn.net/hebtu666/article/details/81698235https://blog.csdn.net/hebtu666/article/details/81698329我们继续总结:开启文件分享Python 允许运行一个 HTTP 服务器来从根路径共享文件,下面是开启服务器的命令:python3 -m htt...

2018-08-15 10:09:26 7602 39

原创 python基础技巧总结(二)

一总结的链接:好,我们继续一次性初始化多个变量 可以直接赋值:a,b,c,d=1,2,3,4可以利用列表:List = [1,2,3]x,y,z=Listprint(x, y, z)#-> 1 2 3(元素个数应与列表长度相同) 打印模块路径 import socketprint(socket)#<module 'socket...

2018-08-15 09:44:39 5065 25

原创 python基础技巧总结(一)

最近总结一下python基础知识,就暂时弃坑了。本文总结只属于python的一些骚操作。。。后面文章自行去博客学习交流原地交换Python 提供了一个直观的在一行代码中赋值与交换(变量值)的方法 x, y = 10, 20print(x, y) x, y = y, xprint(x, y) #1 (10, 20)#2 (20, 10)原理:赋值的右侧形成...

2018-08-15 09:24:36 4523 25

原创 欧几里得gcd/extend_gcd

正式叙述前还写了一点自己的小感受。问题:求两个正整数a,b的最大公约数。大神看来是很简单的问题,但是对于去年夏天刚学python的我来说,这是个很难的问题,还记得当时一晚上睡不着都在想怎么快一点的求出最大公约数,后来猜测最小公倍数的求法,还有最后想出来的欣喜若狂,我现在还记忆犹新。 还记得看过一个小梗:一个农民种着种着地,一排一排的种,突然陷入深思,沉思良久,回去算了很久以后,借了...

2018-08-14 22:06:13 2746 43

原创 小白2048小游戏速成教程(python不到100行)

规则与效果2048游戏共有16个格子,初始时会有两个格子上安放了两个数字2,每次可以选择上下左右其中一个方向去滑动,每滑动一次,所有的数字方块都会往滑动的方向靠拢外,系统也会在空白的地方随即出现一个数字方块,相同数字的方块在靠拢、相撞时会相加。系统给予的数字方块不是2就是4,玩家要想办法在这小小的16格范围中凑出“2048”这个数字方块。1.游戏介绍:《2048》,是一款益智小游戏...

2018-08-14 13:05:07 12689 338

原创 取模运算

取模运算(“Modulo Operation”)和取余运算(“Complementation ”)两个概念有重叠的部分但又不完全一致。主要的区别在于对负整数进行除法运算时操作不同。取模主要是用于计算机术语中。取余则更多是数学概念。模运算在数论和程序设计中都有着广泛的应用,比如:从奇偶数的判别素数的判别模幂运算最大公约数的求法孙子问题凯撒密码问题虽然很多数论教材上对模运算...

2018-08-07 20:55:09 11647 33

原创 素数基本(埃氏筛法/线性筛法)

一、检查n是否为素数最简单思路:所有可能的因数全部试一遍。int gg(int n){ for(int i=2;i<n;i++){ if((n%i)==0)return 0;//有因数就不是素数咯 } return 1;}进一步思考:没必要枚举所有的数,每一个小于n^(1/2)的因数i,一定有一个大于n^(1/2)...

2018-08-07 18:32:00 29270 212

原创 深搜DFS\广搜BFS 图初步入门

首先,不管是BFS还是DFS,由于时间和空间的局限性,它们只能解决数据量比较小的问题。深搜,顾名思义,它从某个状态开始,不断的转移状态,直到无法转移,然后退回到上一步的状态,继续转移到其他状态,不断重复,直到找到最终的解。从实现上来说,栈结构是后进先出,可以很好的保存上一步状态并利用。所以根据深搜和栈结构的特点,深度优先搜索利用递归函数(栈)来实现,只不过这个栈是系统帮忙做的,不太明显罢了。...

2018-08-07 16:18:22 3561 13

原创 第二次作业 讲解及展示

第二次作业,同学们虽然在认真完成,但是或多或少都出了一些错误,一班张婷,四班武仪人,六班杨泽宇,八班候雯洁,安锦阳,刘净圆,这些同学完成的较为出色,错误较少。注:排名不分先后作业内容:根据BMI指数分类并输出下面写一个包含典型错误的程序n=input(体重,千克)m=input(身高,米)k=n/(m**2)if k<18.5: print(1)if 18....

2018-08-06 08:18:45 2938 54

原创 排序算法基本介绍及python实现(含详细注释)

对数组排序可以说是编程基础中的基础,本文对八种排序方法做简要介绍并用python实现。代码中注释很全,适合复习和萌新学习。这是刚入学自己写的,可能难免比不上标准的写法,但是懒得改了。文末会放和排序相关的基本拓展总结链接。看不明白可以看群里视频注意排序实现的具体方式,不要用局部变量,否则占空间太多,和空间复杂度不符。好,我们开始。选择排序选择排序(Selection sor...

2018-08-05 19:46:36 11755 151

原创 第三次课 课上代码

这次可能比较简短,这样也好,可读性比较强。别问我为什么,我不会告诉你们我把代码关了的哼哼。简单复习、注意事项及小知识强调讲解作业讲解列表的遍历For循环(这个参考切片,视频有详细讲解,一样的) >>> print("列表的遍历")列表的遍历>>> l=[0,1,2,3,4,5]>>> for i in l: ...

2018-08-04 21:11:51 4106 48

原创 经典的进程同步问题

经典的进程同步问题普通版:一类进程作为生产者,生产产品,生产的产品放入一个缓冲区,消费者从缓冲区中取出产品,需要保证生产者不可以向满的缓冲区中添加产品,消费者不可以从空的缓冲区中取出产品。同一时刻只可以有一个生产者生产产品或者消费者消费产品。升级版可以实现同一个时刻既有生产者生产产品,又有消费者消费产品。但是绝对不可以同一时刻多个生产者生产产品或者多个消费者消费产品。同时使用count记...

2018-08-04 14:23:33 13391 62

原创 二分查找及一般拓展总结

二分-不止是查找哦二分过程:首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。(摘自百度百科)很显然,使用二分查找需要满足两...

2018-08-04 13:57:00 5978 48

原创 dp打开思路2:POJ2533 HDU1114 HDU1260 HDU1160(水题不水)

题目:https://vjudge.net/contest/68966#overviewPOJ2533最长上升子序列,很平常的题,但是维持单调队列+二分还是值得一贴的,O(nlogn)关键思想:出现在单调队列里的数都在当前接收的数之前,所以找到最小的比他大的数替换即可,而替换的位置其实就相当于它的DP[i],只是已经没有记录的必要了。如果是当前最大就放到最后,cnt++。最后单调数...

2018-08-03 20:27:53 3561 40

原创 dp打开思路:HDU1029 HDU1087 HDU1176 HDU1257 POJ1458(水题不水)

题目:https://vjudge.net/contest/68966#overviewHDU - 1029题意:找出出现次数超过一半的数字蠢思路:排序找中间DP:扫一遍一个变量count记录解出现的次数,是当前解就++,否则--,count为负就换掉当前解。(解释:想象解全都挨在一起(前面),count先达到最大,然后减为1或0,而其他数字先出现,可能会使正确解的count减为负...

2018-08-03 16:34:43 3438 44

原创 第一次课 优秀作业展示

                                                                          18级河北师大软件编程训练很多同学非常认真的完成了作业,这里选出比较优秀的作业展示出来。注:展示顺序不是排名为了尊重同学们的劳动成果,并没有要代码,只是截图展示。范天祚 (傻兔子)熊静祎(萌萌小表情)安锦阳(心形...

2018-08-01 10:38:26 5235 86

空空如也

空空如也

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

TA关注的人

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