2018-11-24-C#-7.0】的更多相关文章

传送门 后缀数组好题. 考虑枚举循环节长度lenlenlen. 然后考虑枚举循环节的起点来更新答案. 但是直接枚举每次O(n)O(n)O(n). 考虑枚举len∗k+1len*k+1len∗k+1作为起点. 然后用len∗(k−1)+1len*(k-1)+1len∗(k−1)+1和len∗k+1len*k+1len∗k+1之间的某一段有可能使循环节长度再加一. 代码: #include<iostream> #include<cstdio> #include<cstring&g…
传送门 常数实在压不下来(蒟蒻开O(3)都过不了). 但有正确性233. 首先肯定得把两个字符串接在一起. 相当于heightheightheight数组被height<kheight<kheight<k的分成了几段,统计每段的贡献. 考虑段中每个heightheightheight作为最小值出现的次数就行了. 于是我们用单调栈求出每个位置向左右分别能延展到的最远下标然后统计答案就行了. 细节有点多. 代码: #include<iostream> #include<cs…
传送门 实际上可以用后缀自动机秒掉 当然后缀数组也挺好写. 我们将两个字符串接在一起,为了方便中间用一个特殊字符连接. 然后对新字符串求heightheightheight数组. 求出来之后对所有满足sai,sai−1sa_i,sa_{i-1}sai​,sai−1​属于两个不同字符串的heightheightheight取最大值就行了. 代码: #include<iostream> #include<cstdio> #include<cstring> #define r…
传送门 双倍经验(弱化版本) 考虑求出来heightheightheight数组之后用增量法. 也就是考虑每增加一个heightheightheight对答案产生的贡献. 算出来是∑∣S∣−heighti+1−sai\sum|S|-height_i+1-sa_i∑∣S∣−heighti​+1−sai​ 代码: #include<bits/stdc++.h> #define ri register int using namespace std; const int N=5e4+5; int n…
传送门 后缀数组经典题. 貌似可以用二分答案+后缀数组? 我自己yyyyyy了一个好写一点的方法. 直接先预处理出heightheightheight数组. 然后对于所有连续的k−1k-1k−1个heightheightheight的最小值取最大值即可. 代码: #include<iostream> #include<cstdio> #include<algorithm> #define ri register int using namespace std; inli…
传送门 代码: 二分答案. 然后对于预处理的heightheightheight数组分成几段. 保证每一段中都是连续的几个heightheightheight并且这些heightheightheight都不小于二分的值. 然后查询是否有一个段中两个长度的差满足条件就行了. #include<iostream> #include<cstdio> #define ri register int using namespace std; inline int read(){ int an…
传送门 后缀排序模板题. 终于会后缀数组了(然而只会倍增并不会DC3DC3DC3). 在这里列举几个数组的意思: sai:sa_i:sai​:当前排名第iii的后缀的起始下标. rkirk_irki​当前下标为iii的后缀对应的排名. sa2isa2_isa2i​当前排名为iii的第二关键字对应的下标. 代码: #include<bits/stdc++.h> #define ri register int using namespace std; const int N=1e6+5; int…
OGNL表达式 OGNL:对象视图导航语言. ${user.addr.name} 这种写法就叫对象视图导航. OGNL不仅仅可以视图导航.支持比EL表达式更加丰富的功能. 理解图示 使用OGNL准备工作 导包(不需要额外的导包) 测试代码 fun1是通用代码 fun2 取出root中的属性 ---->直接写属性名 (默认取得是root对象中的) fun3 取出Context对象中的属性值 fun4为属性赋值 可以通过 属性名=值 "name='jerry'" 或者 #对象名.属性…
Doubles Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 19954   Accepted: 11536 Description As part of an arithmetic competency program, your students will be given randomly generated lists of from 2 to 15 unique positive integers and as…
初学Python.Opencv,想用它做个实例解决车牌号检测. 车牌号检测需要分为四个部分:1.车辆图像获取.2.车牌定位.3.车牌字符分割和4.车牌字符识别 在百度查到了车牌识别部分车牌定位和车牌字符分割,先介绍车牌定位部分 车牌定位需要用到的是图片二值化为黑白后进canny边缘检测后多次进行开运算与闭运算用于消除小块的区域,保留大块的区域,后用cv2.rectangle选取矩形框,从而定位车牌位置 车牌字符的分割前需要准备的是只保留车牌部分,将其他部分均变为黑色背景.这里我采用cv2.gra…