2018.10.24-day3 python总结】的更多相关文章

初学Python.Opencv,想用它做个实例解决车牌号检测. 车牌号检测需要分为四个部分:1.车辆图像获取.2.车牌定位.3.车牌字符分割和4.车牌字符识别 在百度查到了车牌识别部分车牌定位和车牌字符分割,先介绍车牌定位部分 车牌定位需要用到的是图片二值化为黑白后进canny边缘检测后多次进行开运算与闭运算用于消除小块的区域,保留大块的区域,后用cv2.rectangle选取矩形框,从而定位车牌位置 车牌字符的分割前需要准备的是只保留车牌部分,将其他部分均变为黑色背景.这里我采用cv2.gra…
得分: \(100+0+100=200\)(\(T2\)悲惨爆\(0\)) \(P.S.\)由于原题是图片,所以我没有上传题目描述,只有数据. \(T1\):query(点此看题面) 熟悉主席树的人都知道,这是一道主席树查询区间排名的模板题. 但是,由于太久没打主席树,我对它有一些生疏了,结果依然用了一个多小时... ... 主席树查询区间排名的大致思路,就是将元素给离散化,然后用\(n\)棵线段树(合并成一棵主席树)分别存储\(1\sim i\)中每个元素出现次数,然后就可以很方便地利用前缀和…
树 概念:由一个或多个(n≥0)结点组成的有限集合 T, 有且仅有一个结点称为根( root), 当 n>1时,其余的结点分为 m(m≥0)个互不相交的有限集合 T1,T2, …, Tm.每个集合本身又是棵树,被称作这个根的子树. 特性: 根节点: 即根结点(没有前驱) 叶子节点: 即终端结点(没有后继) 结点的度: 结点挂接的子树数(有几个直接后继就是几度) 树的深度(或高度) : 指所有结点中最大的层数( Max{各结点的层次}) 二叉树: 二叉树的转化:左孩子右兄弟 作用:便于运算 了…
栈: Stack<int>  xt=new Stack<int>() ; 先进后出,后进先出,水杯结构,顺序表类似 常用方法:   .pop---->出栈,弹栈                    .Push---->压栈,进栈                    .peek---->获取栈顶元素                    .toArry---->转化数组,遍历      int[] ints= stack.ToArray();   Cons…
传送门 f[i][j][k]f[i][j][k]f[i][j][k]表示前iii个点连了jjj条边,第i−K+1i-K+1i−K+1~iii个点连边数的奇偶性为kkk时的方案数. 转移规定只能从后向前连边. 然后讨论奇偶性转移就行了. 注意从f[i−1]f[i-1]f[i−1]转移过来的时候不用考虑最前面一位. 然后再用f[i][j]f[i][j]f[i][j]转移f[i][j+1]f[i][j+1]f[i][j+1]就行了. 代码: #include<bits/stdc++.h> using…
传送门 状压dp好题. 考虑对于两个给出的集合. 如果没有两个元素和相等的子集,那么只能全部拼起来之后再拆开,一共需要n1+n2−2n1+n2-2n1+n2−2. 如果有呢? 那么对于没有的就是子问题了. 因此我们要最大化这样的子集数. 这就需要状压dp了. 我们把两个集合拼成一个,然后第二个集合合并进去的时候权值取负的,这样如果某个子集元素和为0表示该子集和满足要求. 然后枚举一下之前的状态来转移就行了. 代码: #include<bits/stdc++.h> using namespace…
传送门 分治妙题. 没有这道题的暴力分今天又垫底了啊233 由于用了分治的方法,我们只用考虑左区间对右区间的贡献以及右区间对左区间的贡献. 可以发现如果从中点开始向两边递推最小值并用这个区间最小值来推式子是可以推出右/左区间的所有点对左/右区间的某个点的贡献是满足一个偏序关系的. 于是用一种可以支持删除查询的数据结构偷懒用了bit来维护就行了. 代码…
传送门 考虑到a[l],gcd(a[l],a[l+1]),gcd(a[l],a[l+1],a[l+2])....gcd(a[l]...a[r])a[l],gcd(a[l],a[l+1]),gcd(a[l],a[l+1],a[l+2])....gcd(a[l]...a[r])a[l],gcd(a[l],a[l+1]),gcd(a[l],a[l+1],a[l+2])....gcd(a[l]...a[r])是可以分成最多logloglog段且段内的数都是相同的. 那么我们用链表维护这logloglog…
传送门 考试自己yyyyyy的乱搞的没过大样例二分+dp二分+dp二分+dp过了606060把我自己都吓到了! 这么说来乱搞跟被卡常的正解比只少101010分? 那我考场不打其他暴力想正解血亏啊. 正解同样是二分+dp. f[i]f[i]f[i]表示i不变且前面全部满足当前要求时最少需要改几个数. 然后用f[i+1]f[i+1]f[i+1]~f[n]f[n]f[n]转移一下就行了. 代码…
一道\(dp\)题... 期望\(40\)分解法 预处理:离散化,然后让连续一段值相同的元素合并为一个元素. 正式\(DP\): 显然有个最差策略为每个元素处都切一次,则切的次数为元素的个数\(-1\) 相对地来说就是假设全部元素之间就已经切开,要尽量多地合并元素 \(DP\)的第一维用来确认当前是合并了值为多少的两个数值段,DP的第二维来记住最后一次合并是合并了哪个位置的两个线段 即\(DP[i][j]=\)对于值为\(1\)到\(i+1\)的数值段, 最后一次合并为合并\(a[j]\)和\(…