自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hebtu666

少说,多做。

原创 第六次课 课上代码

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

2018-08-21 22:50:32 2363 0

原创 第五次课 课上代码

第五次   双重循环——排序(复习) While循环 Break continue 字符串(len,取值改值,格式化) 列表生成式 >>> for i in range(4):     for j in range(4):         p...

2018-08-19 21:41:00 2426 0

原创 算法指导图

     

2018-08-19 13:52:36 10668 3

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

POJ1189 http://poj.org/problem?id=1189 怎么说呢,不算难,但是容易出问题 我一开始的思路是,第一个钉子只有一种情况,然后下面每个钉子:左边有钉子就加左边的情况数,右边有钉子就加右边的情况数,上边没钉子就加就加上上面的情况。(加情况均是因为小球可以到这里)...

2018-08-19 13:48:37 2701 0

原创 输入输出外挂

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

2018-08-19 00:06:27 2168 0

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

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

2018-08-18 17:54:37 2835 0

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

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

2018-08-17 18:17:17 5687 0

原创 动态规划概述

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

2018-08-17 14:51:44 1767 2

原创 归并-求逆序数

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

2018-08-17 10:36:07 2565 0

原创 快排-前m大元素

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

2018-08-17 10:14:14 2502 0

原创 快排-荷兰国旗

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

2018-08-17 10:00:42 2699 0

原创 python基础小白题5

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

2018-08-16 22:00:48 962 0

原创 python基础小白题4

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

2018-08-16 21:58:11 1125 0

原创 python基础小白题3

题目021:猴子吃桃问题 猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。 以后每天早上都吃了前一天剩下的一半零一个。 到第10天早上想再吃时,见只剩下一个桃子了。 求第一天共摘了多少。 '''...

2018-08-16 21:56:30 1188 0

原创 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: ...

2018-08-16 21:42:50 1041 0

原创 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...

2018-08-16 21:41:11 1333 0

原创 二叉搜索树实现

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

2018-08-16 14:30:59 1519 0

原创 堆的简单实现

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

2018-08-15 16:48:44 1305 0

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

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

2018-08-15 11:31:31 2621 0

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

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

2018-08-15 10:49:10 2427 0

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

前两篇文章: https://blog.csdn.net/hebtu666/article/details/81698235 https://blog.csdn.net/hebtu666/article/details/81698329 我们继续总结: 开启文件分享 Python 允许运...

2018-08-15 10:09:26 4782 0

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

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

2018-08-15 09:44:39 3059 0

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

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

2018-08-15 09:24:36 2167 0

原创 欧几里得gcd/extend_gcd

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

2018-08-14 22:06:13 870 28

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

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

2018-08-14 13:05:07 6701 78

原创 取模运算

取模运算(“Modulo Operation”)和取余运算(“Complementation ”)两个概念有重叠的部分但又不完全一致。主要的区别在于对负整数进行除法运算时操作不同。取模主要是用于计算机术语中。取余则更多是数学概念。模运算在数论和程序设计中都有着广泛的应用,比如: 从奇偶数的判别 ...

2018-08-07 20:55:09 1313 23

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

一、检查n是否为素数    最简单思路:所有可能的因数全部试一遍。   int gg(int n) { for(int i=2;i<n;i++){ if((n%i)==0)return 0;//有因数就不是素数咯 } return 1...

2018-08-07 18:32:00 12393 96

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

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

2018-08-07 16:18:22 1380 0

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

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

2018-08-06 08:18:45 801 6

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

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

2018-08-05 19:46:36 8154 78

原创 第三次课 课上代码

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

2018-08-04 21:11:51 2154 0

原创 经典的进程同步问题

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

2018-08-04 14:23:33 10177 61

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

二分-不止是查找哦 二分过程:首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录...

2018-08-04 13:57:00 4086 25

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

题目:https://vjudge.net/contest/68966#overview POJ2533 最长上升子序列,很平常的题,但是维持单调队列+二分还是值得一贴的,O(nlogn) 关键思想:出现在单调队列里的数都在当前接收的数之前,所以找到最小的比他大的数替换即可,而替换的位置其实...

2018-08-03 20:27:53 1616 16

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

题目:https://vjudge.net/contest/68966#overview HDU - 1029 题意:找出出现次数超过一半的数字 蠢思路:排序找中间 DP:扫一遍一个变量count记录解出现的次数,是当前解就++,否则--,count为负就换掉当前解。(解释:想象解全都挨在...

2018-08-03 16:34:43 1469 20

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

                                                                          18级河北师大软件编程训练 很多同学非常认真的完成了作业,这里选出比较优秀的作业展示出来。 注:展示顺序不是排名 为了尊重同学们的劳动成果,并没...

2018-08-01 10:38:26 2056 0

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