自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 字符串(kuangbin)题解

只做图论是会审美疲劳的,所以我来写写字符串的题换换心情>_<!文章目录KMP板子一板子二板子三最小循环节随时更新KMPKMP是个好东西,适用于单文本的字符串匹配时间复杂度O(n+m)是AC自动机的灵魂,最关键的是,它简单啊!,代码又好看,还短,是普及选手的必备算法之板子一没啥好说的,就是板子…放个代码就过…#include <iostream>#inclu...

2020-04-19 17:52:26 369

原创 图论(kuangbin)题解

最近看到队中的大佬可怕的做题量,弱鸡感受到了发自内心的恐惧,于是我这个弱鸡决定加强自己的日常训练(熬夜就熬夜吧,少年不熬夜,老大徒伤悲(雾))POJ 1236 Network of Schools转化一下就是第一问求缩点之后入度为零的点的个数第二问求(入度为零和出度为零的最值)因为本人 菜鸡并不擅长压行,所以他们50行可以写完的代码,我要写100+行(留下没有尊严的泪水)ACcode:...

2020-03-21 22:54:04 841 3

原创 矩阵快速幂&矩阵乘法的一些神奇操作

牛客第一场J题让我明白了自己有多少东西都还不会,今天来学习一下神(jian)奇(dan)的矩阵快速幂并如何利用矩阵快速幂求斐波那契数列第n项(n>1e10)先上代码:#include <iostream>#include <cstring>#include <string>#define ll long long#define mod 1000...

2020-02-06 11:30:05 401 1

原创 数学之美读书日记

数学之美读书日记判断句子是否合乎语法判断一个句子是否符合人们的习惯(合乎人们的说话习惯)只需要计算出该句子出现的概率就行假设有一句话为 $ S=w_1w_2w_3…w_n(n=len(s))$则P(S)=P(w1)∗P(w2∣w1)∗P(w3∣w1,w2)∗...∗P(wn∣w1,...,wn−1)P(S)=P(w_1)*P(w_2|w_1)*P(w_3|w_1,w_2)*...*P(w_n|w_1,...,w_{n-1)}P(S)=P(w1​)∗P(w2​∣w1​)∗P(w3​∣w1​,w2​)∗

2021-11-10 11:56:05 1003 2

原创 后缀自动机再学习

后缀自动机再学习日记看到学弟们正在学习后缀数组,颇有些感慨,于是决定摸鱼回顾一下后缀自动机,如果能帮助到学弟们,那真的是莫大的荣幸什么是后缀自动机?—— 一种可以在O(nlogn)时间复杂度下解决大部分字符串问题的数据结构如何理解后缀自动机?—— 理解后缀自动机的关键在于理解endpos集合和后缀链接的转移。后缀自动机的结构是什么?—— 后缀自动机上的每一个节点都代表endpos集合一致的一类字符串,后缀自动机的每一条边都和字典树的边的意义一致什么是endpos集合?—— endpos集

2021-08-20 14:41:06 138

原创 servlet学习日记

servlet什么是servlet?是sun公司开发动态web的一门技术sun在这些API中提供一个接口叫做Servlet,如果你想开发一个Servlet程序,只需要完成两个小步骤:编写一个类,实现Servlet接口吧开发好的java类部署到web服务器中吧实现了servlet接口的java程序叫做servlet第一个servlet程序构建maven项目,删除src冰创建一个webapp的maven模块在主pox.xml中配置dependencies>

2021-07-18 22:37:56 159 1

原创 Spring学习日记

Spring因为用户的需求变更就要大幅度的修改原有的代码,这样的程序是很low的!中文文档:中文文档:https://www.docs4dev.com/docs/zh/spring-framework/5.1.3.RELEASE/reference配置依赖<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactI

2021-07-03 10:31:01 181 1

原创 Mybatis-Spring整合框架下实现登录以及注册功能

步骤一:建立数据库use justplay;create table if not exists `Springtest`( `name` varchar(10), `id` int not null auto_increment primary key, `password` varchar(10))```xml# 步骤二:配置依赖```xml<?xml version="1.0" encoding="UTF8"?><project xmlns="http

2021-07-03 10:29:19 1949 1

原创 23种设计模式(未完)

设计模式汇总1.单例模式模式意图: 保证一个类只有一个实例,并且提供一个全局访问点应用场景:需要严格的控制全局变量时.重量级的对象,例如线程池,数据库连接对象/不需要多个实例对象的工具类.设计模式:懒汉式:package 单例模式;public class 懒汉式 { public static void main(String[] args) { }}/** * 首先,会出现线程安全问题 * 解决方法:给getInstance方法加锁,但这样效率很

2021-06-26 07:38:53 125

原创 Mybatis学习日记

Mybatis中文文档1.创建一个空的maven项目2. 配置依赖<dependencies><!-- mysql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.46</ver

2021-06-19 06:16:38 165

原创 简单的UDP聊天室(java源码)

/** * 工具类,用于存放所有的端口,实现了创建端口,和收发信息的方法 * */public class AllSorcket { private static List<Integer> sorckets=new ArrayList(); //用于存放所有的端口号,方便发送信息 private static int num=0; /** * 创建端口 * @return */ public static Datagr

2021-05-13 20:01:55 230 1

原创 数据库学习日记

MYSQL命令行进入mysql配置环境变量C:\Program Files\MySQL\MySQL Server 5.7\binDOS界面输入 mysql -uroot -pzbw537680sql常用语句以及注意事项注意事项:每一句话都要加; 结尾才能执行sql可以分行来写同一句话– 表示注释关键字不区分大小写固定的语法和关键字!!! 不会就百度常用语句:show databases; -- 查看所有数据库use [数据库名];show tables; -- 查看数据库

2021-05-07 15:28:05 265

原创 JUC学习日记

JUC什么是JUCjava.util.concurrentjava.util.concurrent.atomicjava.util.concurrent.locksjava.util.function进程和线程进程是线程的集合,一个进程至少有一个线程,进程是操作系统调度的最小单位线程是CPU调度的最小单位java默认有两个线程–>main和GC开启线程的方法: Thread,Runnable,Callable但其实,JAVA本身是没有权限开启新线程的,它是调用了本地方法库(nat

2021-05-07 02:49:47 217 2

原创 GUI学习日记

GUI编程什么是GUI?图形用户界面编程,GUI的核心开发技术是Swing和AWT,但是快被淘汰了,因为界面不美观,需要JRE环境(200+M),用处射击可以写出自己自己想要的小玩意,工作的时候可能会维护到swing界面(概率很小),了解MVC架构,了解监听!AWTAWT介绍包含了很多类和接口元素:窗口,按钮,文本框java.awt窗口(Frame)窗口的创建过程如下:如果有哪里不清楚,我们可以通过new Frame(),查看Frame类的源码来解决,大部分方法还是比较好理解的

2021-03-29 18:13:12 199

原创 杭电多校第六场

Road To The 3rd Building求所有区间的平均值的期望,E(A+B)=E(A)+E(B)所以我们要求出所有区间的期望的和然后除以总的区间数(n+1)*n/2就是答案可以通过枚举区间长度来固定分母,然后计算在这个区间长度内的所有区间,每位数字被加的次数,我们不难发现一下规律:所以我们只用预处理一下前缀和,a[i]*i的前缀和和a[n-i+1]*i的后缀和,吧他们分成三段计算就ok啦.复杂度O(nlogn)求逆元…AC代码:#include <iostream>#i

2020-08-08 01:03:21 168

原创 2020杭电多校第五场

Tetrahedron本场签到题,直角四面体的三个直角边长在[1~n]中随机生成,设直角顶点到地面的距离为h,问 1/h^2的期望是多少.简单推一推就知道h=abca2b2+b2c2+a2c2 h=\frac{abc}{\sqrt{a^2b^2+b^2c^2+a^2c^2}} h=a2b2+b2c2+a2c2​abc​所以1h2=1a2+1b2+1c2\frac{1}{h^2}=\frac{1}{a^2}+\frac{1}{b^2}+\frac{1}{c^2}h21​=a21​+b21​+c21​

2020-08-06 00:08:16 362

原创 2020暑假集训成果

原本觉得网上集训效果会很差,没想到也学到了不少知识,原本只想写一个题单的…有突然想到我这脑子笨,还是写一下具体的收获吧.文章目录单调栈(笛卡尔树)单调队列(滑动窗口)图论建图思想(以矛盾建边)分治(笛卡尔树)bitset(一个简单的STL,方便进行位运算)单调栈(笛卡尔树)先粘一颗笛卡尔树…简单观察就可以发现,根节点对应的值比子节点小(像堆),根节点的下标值比左儿子大,比右儿子小(像二叉检索树)所以不难发现,根节点的自述大小(含自身)就是以当前值为最值的管辖范围(从左树的任意一个节点开始到右树的任

2020-07-11 23:39:19 245

原创 扫描线(板子向)

原本想虐虐蓝桥寻找一下快感,结果随意选了一道题就是二分+扫描线…于是就滚回去补扫秒线了…(我太菜了)下面以hdu-1542做例子写的一个板子扫描线的思想很简单放个图应该就不会忘了:扫描线所构造的线段树叶子结点管辖的是一个区间,为了避免以后脑子犯浑,我还是线段树的构造也写一下吧…把y坐标离散:int num = 1;for (int i = 2; i <= n; i++){ ...

2020-02-29 16:50:24 291

原创 匈牙利&离散(板子向)

原本是打算用GYM-102458A做例子的.但是这个可(gai)爱(si)的题竟然如此难搞.所以就灰溜溜的用poj-3041做例子了,(尽管这个题并不需要离散)poj-3041和GYM-102458A一样,都需要把横坐标和纵坐标当成二部图的两边然后跑匈牙利(这就是图论的神奇之处了,风马牛不相及的两个题意,构图方法确实一样的)这里贴上以前记得二部图的性质吧(免得我这个脑子犯浑,又忘了…)最小...

2020-02-24 00:29:20 239

原创 求凸包(我太菜了)

今天学弟问到了…就稍稍写一下吧,似乎是叫(Graham扫描法)?(只会这一个) 太菜了其实求凸包很简单 (为什么当时就是学不会?被自己菜哭)首先要找到左下角的点.(它一定是凸包上的点)以那个点为中心极角排序然后把排完序的前两个点入栈判断栈中倒数第二个点与最后一个点和当前判断的点构成向量的叉乘,如果为负值,退栈,一直退到不为负值或者栈中的元素树小于2把正在判断的点入栈等到所有点遍历完...

2020-02-21 23:41:46 255

原创 后缀自动机学习心得

时间不早了,明天再补博客吧…先把代码贴上…#include <iostream>#include <cstring>#include <cmath>#include <algorithm>#include <map>#define MAX 100010using namespace std;struct node{ ...

2020-02-17 23:23:01 267

原创 牛客寒假训练营6--C

题目传送门寒假牛客最后一场终于突破了7题,开心的一批 >_<!!!题意比较清晰,就是问你木板最少可以分为几组,并输出每块木板被分到哪一组.话说我的思路还是没有被列为正解 (我的思路很奇葩吗?感觉复杂度什么的也很好啊?是因为非主流吗?)初见就锁定了这是个逆序数,二话不说写了个树状数组,但其实并不是逆序数,尽管说和逆序数很像…首先对x进行排序,树状数组维护y就行了x和y都没有...

2020-02-15 23:22:03 228

原创 牛客寒假训练营5--B

题目传送门题目比较简单 (但是我上来就理解成了DP) 最近DP上头了…二分应该是卡精度了导致只过了85%,下来再改进改进…下面是三分的解法:(二分和三分的区别就在于一个只能在单调区间上跑,一个能在单峰区间上跑,三分的常数大概是二分的2~3倍?但都是logn的复杂度)直接三分坐标即可,正常的三分思路就行了这里再写一下三分的时候一定要让左右区间(我的习惯是l和r)移动到距离他们最近的标志...

2020-02-14 12:10:06 96

原创 牛客寒假训练营5--F

题目传送门又到了开心的2小时过6题三小时卡一题的环节…(太菜了)QWQ这一切一切的原因是什么呢?TA这个小(zhi)机(zhang)灵(er)鬼(tong)把这句话看丢了!!!首(du)见(cuo)这道题的TA就很兴奋的认为这不就是一个组合数嘛!..然后就写了半天组合数(对DP的敏锐程度还不够)写组合数就算了…但是机(yu)智(chun)的zbw还发现组合数的复杂度太高了!(l-r的查询...

2020-02-13 22:56:34 138

原创 牛客寒假训练营4--F

题目传送门这个题其实是一道送分题…可是我被卡在神(gai)奇(si)的E题上了,没有时间写这个水题了…E题是如此的神(e)奇(xin)以至于我实在是不想给它单独写一篇总结… (不就是一个贪心+高精)读一遍题,稍稍画图看一下就知道是要你求树上有几对点之间的距离为偶数在稍微观察一下就能发现,深度为奇数的节点到深度为奇的节点之间的距离一定为偶,同理深度为偶的也是(当个小知识点记着吧,说不定什么时候...

2020-02-11 20:25:32 141

原创 牛客寒假训练营3--B

题目传送门题意很简单但是因为跟榜心理和卡G卡的心理难受,就没有开B题,不然应该能过?题解上已经写得很清楚解法了:贴个官方题解:然后要做的就是一个简单的十进制到2进制的转换然后对上图进行简单的修改就完事了… (仔细想,这题就难在一个构造上,很容易就能想到要想到一种构图方法来表示所有数,而每一个位置都有两种来源,在上面多想一想,这个题其实并不难,难的是用于开没有几个人写的题…)贴代码:#...

2020-02-09 22:15:21 161

原创 聊以自慰

众所周知,zbw是一个既贪心又暴力的人,除此之外,他甚至连排序都不会.

2020-02-09 22:01:54 1681

原创 牛客寒假训练营3--G

题目传送门2小时过6题,剩下的时间全在卡G… (被自己菜哭)WA的原因有二:first:取%叕叒双又取错了~~(被自己蠢哭)~~second: int*int乘炸了 (QWQ)TLE的原因就玄学了:first: endl换成’\n’second: 加了一个快读话说我的思路好像比较奇葩?没有被列在出题人的正解里?我的思路:F不是求出整体的答案了嘛…剩下的就是对已有答案进行加加减减...

2020-02-09 10:55:13 326

原创 牛客寒假训练营2---I

题目传送门(我可能已经染上异或恐惧症了…)克服恐惧的最好方式就是…奥利给!巨水的一道题…做不出来的唯一原因是卡在更神(sha)奇(que)的F题了,初见直接拿出准备良久的生成树板子正准备撸树呢,突然发现边有点多…(人都吓傻了) 又因为卡F卡的心态爆炸,就扔了… (赤裸裸的找借口)因为对位运算掌握的不好,所以没有办法像题解那样写出(n+logv)的算法…(QWQ)上代码:#inclu...

2020-02-07 12:48:25 180

原创 牛客寒假训练营1F

题目传送门题意很好懂就是不会写(太菜了)其实就是一简单DFS配合一点细节就好了,(为什么我总是会想到点分治?) 树上的东西还是要多练习啊 (缩点之后的图也是这样的,如果这种程度的思路都不会,我就不用混了QWQ)废话不多说,为什么没有过了这道题?first: 心态炸了 (赤裸裸的找借口)second: 一想到DFS玄学的复杂度就没有细想了 (在分析复杂度上偷懒了或者说这方面的经验不足,要...

2020-02-05 20:22:57 271

原创 回文树(回文自动机)学习总结

Palindromic Tree,译名为“回文树”,是一种专门处理回文串的数据结构,类似于Manachar算法,但更为强大。是由两颗分别存储偶数回文串树和存储奇数回文串树组成,每个节点代表母串的回文串,两树之间中用fail指针连接。(摘自百度百科)回文树可以很方便地解决大多数回文串相关的问题,例如以某一位开始的最长回文串,次长回文串…,某个回文串在整个文本中出现的次数,最长回文串是谁…功能十分强...

2020-02-05 17:41:16 281

原创 平衡树总结

**平衡树总结**从大一下开始了解AVL树一直对于平衡树的旋转不甚了解,中间放弃了很长时间,最近结合着数据结构课上对平衡树的讲解,又从新开始了对AVL树的学习,并在最后得到了比较令我满意的结果,放图纪念下面是我在学习AVL树时的一些见解,如有错误还请神犇在评论区指出,在此先感谢神犇了。AVL树是指每一个非叶子节点的子树的高度差不超过1的树,在这里我们建立一颗二叉平衡检索树为例。下面的说法...

2019-12-15 19:37:52 292 1

原创 P3916 图的遍历(缩点+记忆化搜索)

题目描述给出NNN个点,MMM条边的有向图,对于每个点vvv,求A(v)A(v)A(v)表示从点vvv出发,能到达的编号最大的点。输入格式第1 行,2 个整数N,MN,MN,M。接下来MMM行,每行2个整数Ui,ViU_i,V_iUi​,Vi​,表示边(Ui,Vi)(U_i,V_i)(Ui​,Vi​)。点用1,2,⋯,N1, 2,\cdots,N1,2,⋯,N编号。输出格式N 个整数A...

2019-09-24 16:37:56 418

原创 蒟蒻zbw的白痴错误集锦(随时更新)

作为一名连ACM大门还没有迈进的蒟蒻,尽管只有少的让人同情的做题量,但还是遇到了一些问题,辛辛苦苦写完了代码,兴奋的提交,TLE…加上了各种奇奇怪怪的优化后,却依然TLE的情况,这时候反过来检查时才发现自己的算法选错了…异常让人崩溃,写这篇博客的原因便是统计一些可以在做题时发现的坑点…(至于赋值和等于搞混的低级错误就不罗列了…)时间复杂度,非常重要,不注意这个,几天的劳动可能瞬间化为乌有…(血...

2019-09-13 23:23:09 191

原创 P2661 信息传递(模拟/tarjan/最小环)

题目描述有 n 个同学(编号为 1 到 n )正在玩一个信息传递的游戏。在游戏里每人都有一个固定的信息传递对象,其中,编号为 i 的同学的信息传递对象是编号为 Ti​ 的同学。游戏开始时,每人都只知道自己的生日。之后每一轮中,所有人会同时将自己当前所知的生日信息告诉各自的信息传递对象(注意:可能有人可以从若干人那里获取信息, 但是每人只会把信息告诉一个人,即自己的信息传递对象)。当有人从别人口...

2019-09-05 20:37:23 266

原创 洛谷P1166 打保龄球(模拟)

题目描述打保龄球是用一个滚球去打击十个站立的柱,将柱击倒。一局分十轮,每轮可滚球一次或多次,以击倒的柱数为依据计分。一局得分为十轮得分之和,而每轮的得分不仅与本轮滚球情况有关,还可能与后续一两轮的滚球情况有关。即某轮某次滚球击倒的柱数不仅要计入本轮得分,还可能会计入前一两轮得分。具体的滚球击柱规则和计分方法如下:(1)若某一轮的第一次滚球就击倒全部十个柱,则本轮不再滚球(若是第十轮则还需另加两...

2019-09-05 10:21:00 849

原创 洛谷P1022计算器的改良(模拟)

题目背景NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能。实验室将这个任务交给了一个刚进入的新手ZL先生。题目描述为了很好的完成这个任务,ZL先生首先研究了一些一元一次方程的实例:4+3x=86a−5+1=2−2a−5+12y=0ZL先生被主管告之,在计算器上键入的一个一元一次方程中,只包含整...

2019-08-30 20:54:01 244

原创 学AC自动机有感

昨天学习了AC自动机,有点感触,记下来以后遇到相同的问题有个参照的地方。AC自动机适用于多模式串的匹配问题,其算法的主要特点是只用走一次母串就可以得出所有答案,属于离线算法。算法的核心是改造字典树,个人认为AC自动机属于数据结构的一种,通过同一模式串和不同模式串之间的前缀和后缀的关系对字典树进行增边来达到不需要重复的遍历母串的目的期缺点和字典数一样,面对过大的数据很容易造成内存溢出。以上是我对...

2019-08-27 09:58:06 226

原创 蒟蒻的第一篇学习日记(KMP)

网上已经有巨佬写了一篇很详尽的KMP讲解了,我就放个传送门就行了。这里我就写写我对KMP的理解就ok啦,可能写的很乱。。。先粘代码:void getnext(string a){ int len=a.size(); int k=-1; int j=0; nxt[0]=-1; while(j<len) { if(k==-1||a[j]==a[k]) { k++...

2019-08-26 13:03:32 292

原创 洛谷P1114非常男女(前缀和)

题目描述近来,初一年的XXX小朋友致力于研究班上同学的配对问题(别想太多,仅是舞伴),通过各种推理和实验,他掌握了大量的实战经验。例如,据他观察,身高相近的人似乎比较合得来。万圣节来临之际,XXX准备在学校策划一次大型的“非常男女”配对活动。对于这次活动的参与者,XXX有自己独特的选择方式。他希望能选择男女人数相等且身高都很接近的一些人。这种选择方式实现起来很简单。他让学校的所有人按照身高...

2019-08-23 10:58:13 628

空空如也

空空如也

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

TA关注的人

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