OpenCV图像处理学习笔记-Day4(完结) 第41课:使用OpenCV统计直方图 第42课:绘制OpenCV统计直方图 pass 第43课:使用掩膜的直方图 第44课:掩膜原理及演示 第45课:直方图均衡化原理 第46课:直方图均衡化函数equalizeHist 第47课:subplot函数的使用 第48课:matplotlib.pyplot.imshow函数的使用 第49课:直方图均衡化对比 第50课:傅里叶变换理论基础 第51课:numpy实现傅里叶变换 第52课:使用numpy实现逆傅…
//你们的鼓励是我最大的动力 大家可以多留言评论  在接下来很长一段时间我会从初级到高级每天更新 大家有想学习的内容也可以留言哦 //现在是我做C#老师的第28天,希望和大家一起努力 加油 using System; using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks; namespace FOR{ class Program { static void…
所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身. 例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方 public class R2 { public static void main(String[] args) { /* 二.求水仙花 水仙花打印出100-999之间所有的"水仙花数" 所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身. 例如:153是一个"水仙…
在之前的博客中我们已经介绍了如何用Tarjan算法求有向图中的强连通分量,而今天我们要谈的Tarjan求桥.割点,也是和上篇有博客有类似之处的. 关于桥和割点: 桥:在一个有向图中,如果删去一条边,而后这个有向图不再联通,我们便称删去的这条边为有向图的桥. 割点:在一个有向图中,如果删去一个点,使这个有向图中剩下的点不在联通,我们便称这个点为有向图的割点. Tarjan算法原理分析: 和上文一样的,我们求出一个dfn数组(进行dfs时遍历的顺序),和一个low数组(以u为根的子树中,能连到dfn…
倍增这种东西,听起来挺高级,其实功能还没有线段树强大.线段树支持修改.查询,而倍增却不能支持修改,但是代码比线段树简单得多,而且当倍增这种思想被应用到树上时,它的价值就跟坐火箭一样,噌噌噌地往上涨. 关于倍增思想: 倍增的思想很简单:通过区间[1,2i-1]与[1+2i-1,2i(2i-1+2i-1)]求出区间[1,2i]. 所以它可以用于区间求最值,求和.而到了树上之后,就变成了,求它往上任意次的祖先. 而倍增求LCA,就是用到了倍增这个功能. 倍增求LCA算法思路: f[i,j],表示结点i…
1.常用的python函数 abs             求绝对值 all               判断迭代器中所有的数据是否为真或者可迭代数据为空,返回真,否则返回假 any             判断迭代器中的数据是否有一个为真,有返回真,可迭代数据为空或者没有真,返回假 bin             转换整数为二进制字符串 hex            转换整数为十六进制字符串 oct             转换整数为八进制字符串 bool           转换数据为布尔值…
Python流程控制 Python中的流程控制主要包含两部分:条件判断和循环. Python的缩进和语法 为什么要在这里说缩进和语法,是因为将要学习的条件判断和分支将会涉及到多行代码,在java.c等其他语言中,代码块使用{}进行包裹,而Python中不同. Python使用缩进(空格)和冒号来表示包含的意思,但Python并没有规定使用几个缩进,目前通用的标准是使用4个空格. >>> if ( 1 > 2) : # 冒号 ... print(False) # if 包含的代码段,…
今天,我们要探讨的就是--Tarjan算法. Tarjan算法的主要作用便是求一张无向图中的强连通分量,并且用它缩点,把原本一个杂乱无章的有向图转化为一张DAG(有向无环图),以便解决之后的问题. 首先,我们在原图上跑一遍DFS,然后会发现三种边: 1.正常边:嗯,顾名思义就是连接祖先和儿子节点的边. 2.横叉边:连接到了已经弹出的节点的边(也能叫它小三边). 3.返祖边:从儿子节点连到祖先的边. 那么通过进一步的观察我们可以发现:返祖边可能产生强连通分量,而横叉边不能.(如下图所示) DFS遍…
01Trie Section 1:普通 Trie Section 1.1 什么是 Trie Trie 树,即字典树,是一种树形结构.典型应用是用于统计和排序大量的字符串前缀来减少查询时间,最大限度地减少无谓的字符串比较. Section 1.2 如何实现 具体地说,对于每个结点,我们要保存几个信息: ch[26] ,保存此字符的下一个字符(\(a\sim z\))的存储地址(没有为 \(0\)). cnt ,保存此节点被经过了多少次. 对于整个 Trie 树,我们还要额外保存 Tcnt,为节点数…
正则表达式 语法: import re #导入模块名 p = re.compile("^[0-9]") #生成要匹配的正则对象 , ^代表从开头匹配,[0-9]代表匹配0至9的任意一个数字, 所以这里的意思是对传进来的字符串进行匹配,如果这个字符串的开头第一个字符是数字,就代表匹配上了 m = p.match('14534Abc') #按上面生成的正则对象 去匹配 字符串, 如果能匹配成功,这个m就会有值, 否则m为None<br><br>if m: #不为空代…