自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

阿飝的博客

万物皆可DP

  • 博客(61)
  • 资源 (5)
  • 收藏
  • 关注

转载 Spring使用的注解大全和解释【转载】

Spring的注解们 ...

2019-09-12 10:25:29 208

原创 C++ n个线程循环执行三次

有n个线程,第一个线程输出’A’,第二个线程输出’B’,第三个线程输出’C’……以此类推~~~现输入n,要求循环顺序执行前n个线程三次,不允许使用sleep

2019-08-20 21:11:06 3014

原创 Java的String,StringBuffer,StringBuilder

Java的String,StringBuffer,StringBuilder都是跟字符串有关系的类,其中StringBuffer和StringBuilder都可以使用toString()方法转换为String(额,貌似万物皆可toString~~~)String对象是不可改变的。String的每次表面上的改变实际上都是new一个新对象,然后将引用指向新的对象。那么这就很容易看出它的劣势了:如果...

2019-05-05 00:30:24 220

原创 VScode 运行或调试 JAVA无法输入

在VScode配置好JAVA环境后,main函数前会自动生成一行写着 Run | Debug,如下一段求大数乘法的代码,第四行和第五行之间。点击Run就会运行,点击Debug就是调试。第一次点击运行或者调试的时候,它会自动在launch.json里添加一段配置如下:这样一来就会默认在调试控制台里运行了,但是VScode的调试控制台是只读控制台,不能手动输入数据,这就很难受了~~~那...

2019-04-19 17:30:42 6601

原创 Integer的valueOf方法与缓存策略

Integer的valueOf方法与缓存策略问题的导火索今天做了牛客网的笔试题,有一道选择题是这样的,给差不多是下面这样的一段代码,问输出是啥~~public class Test { public static void main(String[] args) { Integer a = 3; Integer b = 3; Sys...

2019-04-18 11:16:19 829

原创 ZOJ4093题解(Robot Cleaner II)

Robot Cleaner II题目链接:ZOJ 4093 Robot Cleaner II Time Limit: 1 Second Memory Limit: 65536 KB Special Judge (Please read the description of Robot Cleaner I first.)Tired of programming the ro...

2019-04-15 17:58:20 445

原创 CF-101C题解

CodeForce-101C Vector题解题面At a geometry lesson Gerald was given a task: to get vector B out of vector A. Besides, the teacher permitted him to perform the following operations with vector A:Turn the...

2019-03-07 14:12:04 408

原创 轻量级标记语言——markdown

markdown说出来你可能不信,最初我还是在CSDN写博客的时候知道markdown这玩意儿的,毕竟CSDN编辑博客有两种方式,其中有一种就是Markdown编辑器。一、什么是markdownmarkdown是一门轻量级标记语言(我所接触的上一个被称作标记语言的叫HTML,但markdown据说更加“轻量”),它允许人们“使用易读易写的纯文本格式编写文档”。简单地说,它是用来提高写文档...

2019-02-28 14:33:43 533

原创 win10 任务栏全透明一步直达

有的人喜欢将任务栏隐藏,但我不喜欢这样。但我又不喜欢下面一行黑黑的,所以就上网找了一些让任务栏透明的方法。网上大致有三种方法:(1)个性化里面改——验证没用~~(2)修改注册表——验证没用,可能是我打开方式不大对吧~~(3)第三方软件——我就是用的这个方法,然而很多软件我下都不想下。找了很久才在github上面发现一个项目,就是专门干这个的——TranslucntTB,有兴趣的可以...

2019-02-28 10:59:05 7558

原创 C里跟二进制相关的__built_in_

在进行状态压缩的时候经常需要对一个数的二进制形式进行一些操作,这些处理起来也挺麻烦的,gcc提供了几个跟二进制相关的__built_in_函数如下:int __builtin_clz (unsigned int x):x用二进制表示,前导零的数量int __builtin_ctz (unsigned int x):x用二进制表示,后缀零的数量int __builtin_popcount...

2018-12-04 12:18:07 310 1

原创 VScode的Git初体验

最近越来越觉得VScode好用了,这里要说的是VScode里面集成的Git,这几天用着就感觉很舒服~~首先,你得安装Git for windows(官网下载),然后在git仓库的文件夹下打开VScode,VScode的git就会被启用~~如果没有自动启用,那你可能需要配置一下git path,文件——首选项——设置,搜索git.path,在settings.json中编辑然后手动加...

2018-11-24 00:08:13 340

原创 VScode配置java环境,能够新建java工程

之前一直用Eclipse写java工程,然而那玩意儿用着有些糟心,最近又转入VScode阵营,所以就尝试着用VScode配置了一下Java开发环境。首先肯定是JDK的配置,这个我就不说了,我以前写过这方面的博客win10下配置JDK很多编辑器能够被包装为IDE都是因为它们特别强的可拓展性,VScode也是这样,它有很多插件,并且很容易安装。java需要的插件是Java Extension ...

2018-11-20 20:21:07 13920

原创 git分支管理(创建分支,分支间转换,查看分支,合并分支,删除分支,分支冲突)

分支(branch)这玩意儿我也不知道该怎么解释,就按照自己的理解来吧~在你第一次commit的时候,git会自动创建一个master分支(当然前提是你没有在这之前就转换到另一个分支上),这就是主线。有的时候,会想对仓库进行某些操作,但是我们又不想影响到仓库当前的状态,这个时候就可以创建一个新的分支~git branch + 分支名git branch SuperAFeiDa这下就...

2018-11-19 08:16:59 242

原创 win10下配置Mysql,并设置远程连接权限

安装版的mysql卸载起来太麻烦了,所以选择使用免安装版的不失为一个好的选择,毕竟免安装版的东西都在一个文件夹下,不要了直接删了文件夹就好~~1.首先是下载了,点入官网链接,一直到最下面,选择第一个下载,解压到你想让它待的地方——就相当于安装目录。2.在解压得到的文件夹(我的是D:\Program Files\mysql-8.0.13-winx64)里添加一个my.ini文件,文件内容...

2018-11-15 18:52:22 6174 1

原创 ubuntu下找不到sys/time.h头文件(没有/usr/include/sys目录)

今天编译一个工程,编译器报错sys/time.h头文件找不到~打开目录/usr/include看了一下,发现下面根本没有sys目录实际上不是没有sys目录,只是系统给换路径了32位系统:/usr/incude/i386-linux-gnu/sys64位系统:/usr/include/x86_64-linux-gnu/sys/使用ln命令创建一个符号链接就行了:用法: ...

2018-11-14 11:11:47 10797 2

原创 VScode编译C++,头文件显示not found的解决方法

一直用codeblocks,想试试vscode,结果这个问题给我弄懵逼了。一开始以为是iostream这个头文件not found,后来发现第一个头文件都会这样显示,放到后面就不会了,然而,光这一个显示not found(虽然并不影响编译),就能逼死强迫症的啊~~~言归正传,这个问题解决方法是:文件——首选项——设置——搜索“clang.diagnostic.enable",然后把勾勾去掉...

2018-11-06 17:35:07 59923 16

原创 CF(codeforces) 101E Candies and Stones题解(空间卡爆~~~)

Candies and Stones传送门题目背景:Little Gerald and his coach Mike play an interesting game. At the beginning of the game there is a pile consisting ofncandies and a pile consisting ofmstones. Gerald ...

2018-11-01 18:55:41 567

原创 ubuntu18.04安装mySQL

不要直接 sudo apt install mysql-server!不要直接 sudo apt install mysql-server!不要直接 sudo apt install mysql-server!重要的事情说三遍~~~以上命令对于ubuntu16.04,17.04,都可以直接用,但仅仅止步于17.04。对于ubuntu18.04,apt源里面以以上命令直接安装mysq...

2018-10-30 13:15:36 481

原创 DP之倍增算法解决LCA问题

LCA,最近公共祖先,也就是树上两个节点的相同的祖先里距离它们最近的(也就是深度最深的)。倍增算法用于解决LCA问题的在线查询。比如要找x和y的LCA,一般会怎么做?首先是暴力。一种是DFS遍历说有点,无需预处理,查询是O(n)的。还有一种暴力是先一步一步将x和y提到同一高度,然后同时看x和y的父节点,相等则是LCA,不等则让x=father(x),y=father(y),这个查询的复杂度...

2018-10-23 16:01:24 622

原创 数位DP入门专题礼包已经出现~

题目入口:AFei的炼金术修行之数位DP题目难度排序:D<F<A<B<E<C<H<G哇,这套题我做了三次,终于给AK了,陆陆续续差不多做了一个月吧,碰到类似的题已经能够很快地想到思路了,就很苏福~~何谓数位DP数位DP,顾名思义,dp的对象是数字,并且这个数字的特点是在于数位上。啥意思呢,比如想找出【0,1e18】内不包含62的数字,...

2018-10-19 11:39:56 263

原创 UML类图基本语法,这都看不懂就放弃学UML吧~

百度百科上面对UML的解释:简单地说,UML是软件开发的图纸——它对于软件的意义就像建筑物的图纸对于建筑物一样。这里主要解释基本语法(以下使用starUML绘制):类(class):一般来说,类图用这样的矩形表示,第一行是类名(抽象类类名用斜体),第二行是类的特性,一般是指类的属性,第三行是类的操作,通常指类的方法,第二行和第三行开头的+,-,#,~分别表示public、p...

2018-10-17 16:30:45 5267

原创 数据结构之伸展树(二)

之前写了一篇Splay的博客【数据结构之伸展树(一)】,只是说了一下了它的原理及核心的伸展操作,后来发现具体在哪里应用splay我还是分不大清。事实上,Splay常常用于实现可分裂与合并的序列,举个板栗,比如给你一个数组,将数组从某一个地方分成俩数组,或者给你俩数组,将他们直接连接成一个数组——这就是Splay的强项就像上次写的伸展树博客里面说的,要处理一个区间[L,R]只需要将L-1伸展...

2018-09-17 14:22:11 254

原创 数据结构之求解RMQ问题

RMQ,即range minimum queuy,范围最小值查询,一般朴素算法查询单个区间是O(n),查询m个就是O(m*n) ,这里要说的Sparse-Table算法,需要O(nlog n)的预处理,O(1)的单次查询,在查询次数很多的时候就能体现更好的优越性。而且,最重要的是这个算法写法简单,理解方便~~令d(i,j)表示从i开头的,长度为2^j(本文中^都表示次方而不是异或)的区间内的最...

2018-09-12 19:35:57 276

原创 数据结构之Treap、RankTree(名次树)

一、Treap简单地说,Treap是一棵拥有键值、优先级两种权值的树。对于键值而言,它是BST,对于优先级而言,它是堆。它的插入、删除和查找的期望时间复杂度均为O(log n)它在插入的时候,随机生成一个优先级,首先根据键值以BST的方式插入到Treap里,然后通过BST的旋转来维护优先级堆的性质,而旋转本身是不会破坏BST的性质的,这就保证了插入完成之后,仍然是一棵Treap其它的没...

2018-09-09 19:47:47 1499 1

原创 数据结构之树状数组(BIT)

Binary index tree,二叉索引树,又叫树状数组,用于动态连续查询为你。给定一个数组A1、A2、A3......An,树状数组支持以下两种操作:add(x,d):让A[x]增加d,时间复杂度O(log n) sum(x):求A前x个元素的和,时间复杂度O(log n),有了前缀和就可以O(1)地求任意区间的和了在说树状数组前,我们先了解一下lowbit(x)。对于正整数x,我们...

2018-09-06 14:37:51 683

原创 git修改最近一次commit的内容

git commit --amend -m "xxxxxx"  //修改最近一次commit描述为引号里面内容git push -f origin master //如果已经push了,可以用这个覆盖服务端信息 

2018-09-05 21:09:04 1137

原创 数据结构之AC自动机

AC自动机,学会了有助于AC~~AC自动机相当于在Trie上跑KMP——用于解决字符串的多模板匹配问题。所谓的多模板匹配,是相对于单模板匹配而言。单模板匹配就是KMP中所说的给定一个模板串,在查询串里面寻找这个模板串(匹配),而多模板匹配顾名思义,也就是有多个模板串。对于这种问题,我们用KMP或者Trie当然是可以直接写的,只是复杂度过高罢了。比如给定m个平均长度为a的模板串,一个长度为n...

2018-08-31 22:57:41 966

原创 数据结构之KMP

KMP主要用于字符串匹配,比如给一个长度为n的字符串s,然后再给一个长度为m的字符串t,问s中有没有连续子串和t一样(n>=m)显然,直接暴力求解,容易得到最坏O(m*(n-m))复杂度的算法。当这个朴素算法的复杂度不满足要求的时候,就需要用到我们经典的字符串匹配算法——KMP,复杂度为O(m+n)如下图所示,i指针指向字符串s,j指针指向t,当i从第一个字符a开始与t匹配,当i指到...

2018-08-29 01:10:03 336

原创 数据结构之前缀树(Trie)

前缀树,又叫字典树,主要用于字符串(不限于字符串)查询、统计、排序的一种数据结构比如,给定n个字符串,进行m次查询,每次查询给定一个字符串 t,问t 是否存在于那给定的n个字符串里这里,我们用到了前缀树,即将每个字符串看作一条链,把拥有相同前缀的字符串的链的相同前缀给合并,形成一棵棵子树。如给定三个字符串his,her,hit,得到前缀树:上图很清晰了,在右边的树里面从根出发,一直...

2018-08-29 00:30:34 727

原创 Git入门

Git是分布式版本控制系统,可以记录文本文件的不同版本内容,便于恢复和管理。由于是分布式,每台主机都可以有一个仓库,不是必须联网才能操作。一、安装Git我使用的是ubuntu和windows10这两个系统,对于ubuntu,直接执行git命令,如果没有这个命令就执行:sudo apt install git而对于windows10,有两种方法。1、git for window...

2018-08-28 13:24:37 4164

原创 BitMap算法和C++ STL里面的bitset

今天看到大数据处理的BitMap算法,可以有效地对空间进行压缩。一、BitMap基本思想在32位的机器上,一个int需要占据32位,而有时候这就是很大的空间浪费。比如没有重复数字的计数排序的时候,假设数据范围[0,1e8],则需要开辟数组int a[(int)1e8+1],a[i]表示i的出现的次数。这就需要大约400M的空间了。然而,由于数字不会重复,所以a[i]只会是0或1,那么32位...

2018-08-27 22:31:49 7488

原创 HDU 6321 Dynamic Graph Matching题解(状压DP)

题目链接:题目传送门~题意:给定一个n 个点的无向图,m 次加边或者删边操作。在每次操作后统计有多少个匹配包含k = 1, 2, ...,n/2条边。 一个匹配的意思是一个边的集合,并且这些边都没有公共顶点n∈{2,4,6,8,10}, 1 ≤ m ≤ 30000题解:解释这一题如何DP之前先明确几点:一个有k条边的匹配(后面简称k匹配)必然包含2*k个点,一个2*k个点的集合只能构...

2018-07-31 20:15:31 234

原创 HDU 6319题解(数据结构之双端队列)

题目链接:看题目点这里~题意:给定一个序列a[1..n],对于每个长度为m的连续子区间,求出区间a的最大值以及从左往右扫描该区间时a 的最大值的变化次数。(实际上不是输出这个,具体的看原题吧)1 ≤ m ≤ n ≤ 107题解:使用双端队列,由右向左维护一个单调非递减队列。由区间[l, l+m)滑动到[l-1, l+m-1)时,如果a[l-1] <= a[l],则直接给a[...

2018-07-31 13:54:07 410

原创 UVALive-2522 Chocolate题解(马尔科夫收敛+简单DP)

题目:看题目点这儿题意:一个口袋中有n个球,球的颜色有c种。现从口袋中取出一个球。若取出的球与桌上已有球颜色相同,则将两球都取走,否则将取出的球放在桌上。设从口袋中取出每种颜色的球的概率均等。求取出n个球后桌面上剩余m个球的概率。n,m<=1e6,c<=100题解:首先是个简单dp,假设表示取i个球后,桌上有j个球。这就意味着:这个状态转移方程还是比较好理解的,首先dp...

2018-07-30 16:02:16 1171

原创 HOJ 14121 Elections题解(带概率的01背包)

题面(下面有中文的,可以跳过):Elections Time Limit:10000ms,Special Time Limit:25000ms,Memory Limit:524288KB Total submit users:9,Accepted users:4 Problem 14121 :No special judgement Problem descrip...

2018-07-29 20:01:17 642

原创 数据结构之伸展树(一)(Splay Tree)

Splay树是一棵二叉搜索树(BST),它是BST的拓展,它不仅拥有O(log n)的单点插入、删除、查找等,还可以在O(log n)的复杂度内对区间进行插入、删除等~它具有BST的性质,即一个节点的键值必然大于其左子树所有节点的键值,并且必然小于其右子树所有节点的键值。关于BST,详见:百度百科:二叉搜索树SPT不同于BST,就在于它有伸展操作——这使得在某些情况下(比如区间的插入、删...

2018-07-28 20:29:09 340

原创 对二分的重新认识

说到二分,首先想到二分查找,这个我一般都是这样写的://在长度为n的数组a[]里找到gold并返回下标,若不存在返回-1int BinarySearch(int n, int a[], int gold){ int L = 0, R = n-1; while(L < R) { int mid = (L+R)/2; if(a[m...

2018-07-24 10:51:47 196

原创 基环树,基环内向树,基环外向树

没在书上找到这个内容,也没在网上找到较为正式的解释,以下是找了一些零散资料后的我自己的理解,有错误请指出。一、基环树首先什么是树就不解释了,如果这都不知道,应该也接触不到基环树吧在了解了树的基础上来解释基环树——树加一条边使之成环(也就是说,在严格意义上来说,基环树并不是树,就像老婆饼没有老婆一样,基环树是个图)二、基环内向树首先它是一个有向图,它构成类似基环树的结构,有一...

2018-07-22 10:28:38 3439 2

原创 UVA 437 The Tower of Babylon 题解(DAG上的DP+神奇的数组索引设置)

题目传送门:UVA 437 巴比伦塔题意:有n(n≤30)种立方体,每种都有无穷多个。要求选一些立方体摞成一根尽量高的柱子(可以自行选择哪一条边作为高),使得每个立方体的底面长宽分别严格小于它下方立方体的底面长宽。分析:这个一看就是DAG上的最长路,瞬间写出状态转移方程:以dp[i][j]表示当前立方体长款分别为i和j,往它上面堆立方体,使其满足条件的最大高度则dp[i][j] =...

2018-05-25 01:26:49 794

原创 Notepad++搭建轻量级python、Java的IDE(可从文件读取输入)

Notepad++(NPP)是windows下非常好用的一个文本编辑器——它是一个文本编辑器,所以想要给它打造成轻量级IDE需要首先下载编译器并配置编译环境,这个就不说了,不会的看我另一个博客:jdk和python环境配置然后就是搭建notepad++的事情了,下载安装Npp就不说了,直接官网下载就好,建议不要下64位的,很多插件不适配64位,下32位的就没这个问题,另外建议下载6.x版本的,...

2018-05-24 17:19:33 431

Java连接mongoDB需要的jar包(3.9.1)

包含 bson-3.9.1.jar、 mongodb-driver-3.9.1.jar 、 mongodb-driver-core-3.9.1.jar

2018-12-12

Java连接mongoDB需要的jar包

Java连接mongoDB需要的jar包 bson-3.6.4.jar mongodb-driver-3.9.1.jar mongodb-driver-core-3.9.1.jar)

2018-12-11

ACM国家集训队论文合集

ACM国家集训队论文合集,1999~2009以及2016年12年上百篇算法精华

2018-05-24

游戏编程指南

windows下的游戏编程指南,教学很详细,要有一定C++语言基础

2018-05-23

空空如也

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

TA关注的人

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