自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

I am a slow walker, but I never walk backwards!

ACM水货的学习史。。。。。

  • 博客(458)
  • 收藏
  • 关注

转载 蚁群算法(ACO)学习笔记

蚁群算法笔记#1.蚁群算法简介:

2019-08-16 15:26:14 8040 3

原创 Centos 6.6 搭建FTP服务器

Centos 6.6 系统中搭建FTP服务器由于实验室需要,需要在Centos 6.6的系统中搭建ftp服务器,权限在root权限下,操作流程如下:1. 安装并启动vsftd1.1 安装vsftd使用 yum 安装 vsftpdyum install -y vsftpd1.2 启动vsftd启动vsftpd: service vsftpd start停止vs...

2018-07-14 17:16:25 2631

原创 LeLeetCode 403. 青蛙过河

题目描述解题思路bfs暴力查找+小剪枝首先特判一下特殊情况,当第二个与第一个的距离差大于1的话,直接返回false 对于每个石子的下一跳都有三种情况,k-1、k、k+1。其中这个K代表当前这个石子是由多长的步数跳过来的。 假设当前位置为pos,它是由k长度跳过来的。vis[pos][k]表示这个状态是否出现过。 需要注意的是:一定要判断vis[pos][k]是否之前出现,...

2018-07-10 20:59:47 1227

原创 LeetCode 239. 滑动窗口最大值

题目描述解题思路线性扫描借助一个辅助队列(双端队列),从头遍历数组,根据如下规则进行入队列或出队列操作: 1. 如果队列为空,则当前数字入队列 2. 如果当前数字大于队列尾,则删除队列尾,直到当前数字小于等于队列尾,或者队列空,然后当前数字入队列 3. 如果当前数字小于队列尾,则当前数字入队列 4. 如果队列头超出滑动窗口范围,则删除队列头 这样能始终保证队...

2018-07-09 22:06:13 2845

原创 LeetCode 37. 解数独

题目描述解题思路暴力递归使用dfs进行暴力递归,需要判断一下三个条件,标记一下是否出现过,行、列以及3*3的小格子中是否出现过。 注意递归结束的条件,失败后不要返回(在这里写错了,没注意到)。代码实现int r[12][12];int c[12][12];int g[12][12];int mp[12][12];class Solution{pu...

2018-07-09 22:01:50 741

原创 LeetCode 25. k个一组翻转链表

题目描述解题思路分别求解并合并分成若干个K个一段的,然后将每个进行翻转,最后将他们连接起来即可。代码实现struct ListNode{ int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {}};class Solution{public: ListN...

2018-07-09 21:57:11 542

原创 LeetCode 23. 合并K个排序链表

题目描述解题思路堆排序将每个链表中元素放在一起,构造一个元素个数为k的小顶堆,每次取出堆顶元素,构成新的链表。 并把该元素后面的元素加入到堆中,反复操作直到堆为空。 使用优先队列来实现堆,可以方便运算。代码实现/** * Definition for singly-linked list. * struct ListNode { * int v...

2018-07-09 21:52:11 373

原创 LeetCode 45. 跳跃游戏 II

题目描述解题思路贪心解法从起点开始找到他能到达的点中,可以跳的最远的点。举个例子,起点是sx,可以到达位置s1, s2,其中s1可以跳step1,s2可以跳step2,那么取s1+step1,s2+step2中的最大值,代表可以下一跳可以到达的最远的地方。依次贪心,保证最后结果最优。代码实现“`C++ class Solution { public: ...

2018-07-07 21:20:34 290

原创 LeetCode 10. 正则表达式匹配

题目描述解题思路1. 暴力递归这道题与剑指offer中的“正则表达式”,有相似之处。 区别在于,剑指offer中那道题好像是不处理”a”, “a*…a*”这种情况,即为主串为空,但是模式串不为空的情况,因此,加上对这种情况的特判即可。 主要是要保证,当模式串不为空时,后面的号表示前面的字符一个都不取,举例:”a” 可以与“aa*b*c*d,只要这种间隔出现的时候才可以,...

2018-07-07 21:11:07 547

原创 LeetCode 4. 两个排序数组的中位数

题目描述:解题思路1. 归并法首先想到的思路就是归并排序中的归并操作,将两个有序的数组进行重组之后O(1)的查找到中位数元素,但是归并的时间复杂度为O(n+m),与要求的O(log(m+ n))相差很多,因此不可行。2. 分治法因为时间复杂度要求为O(log(m+n))因此采用的是分治算法这样能保证时间复杂度是log级别。 但是如何进行分治是这道题的难点。 ...

2018-07-06 10:25:47 275

原创 Nodejs 杂记

Nodejs 杂记最近被赶鸭子上架,强行要求写个nodejs接口,作为一名来JavaScript都不的选手,一脸懵逼。语法障碍已成为第一大障碍,把这两天用到的函数,记录一下省的下次还得再百度。 主要包含以下几个方面:如何去除字符串中最后面的空格如何去除字符串中的双引号nodejs中JSON字符串与对象转换如何合并buffer1. 删除字符串中最后面的空格通过使用...

2018-06-15 16:29:16 490

原创 Erlang学习笔记(七)二进制型与位语法

在大多数情况下,二进制型里的位数都会是8的整数倍,因此对应一个字符串。如果位数不是8的整数倍,就称这段数据为位串,所以说位串的时候强调数据里的位数不是8的整数倍。1. 二进制二进制型的编写和打印形式是双小于号和双大于号之间的一列整数或字符串<<5, 10, 20>>.%<<5,10,20>><<"hello">>.%<<"hello">><<65,66,67>>.%<<"ABC">>在二进

2017-08-29 16:43:00 731

原创 Erlang学习笔记(六)顺序程序的错误处理

Erlang最初被设计用来编写容错式系统,这种系统原则上应该永不停歇。 常见的Erlang应用程序是由几十万到几百万个并发程序组成的,拥有大量进程改变了我们对错误处理的看法,在并发性的大程序中,单个进程的崩溃就没有那么重要了,前提是其他某些进程能够察觉到这个崩溃,并接手崩溃进程原本应该做的事情。 要完全了解错误处理,必须先了解顺序程序里的错误处理,理解之后再来看如何处理大量并行进程里的错误。1.

2017-08-28 16:03:04 642

原创 Erlang学习笔记(五)记录与映射组

记录其实就是元组的另一种形式。通过使用记录,可以给元组里的各个元素关联一个名称。 映射组是键-值的关联性集合。键可以是任意的Erlang数据类型。1. 何时使用映射组或记录使用记录的情况: 1. 当你可以用一些预定且数量固定的原子来表示数据时; 2. 当记录里的元素数量和元素名称不会随着时间而改变时; 3. 当存储空间是个问题时,典型的案例是你有一大堆元组,并且没一个元组都有相同的结构。

2017-08-28 11:34:03 1365 3

原创 Erlang学习笔记(四)模块与函数

买的《Erlang程序设计》第二版终于到了,可以按照书中的章节记录学习内容了。1模块模块保存在扩展名为.erl的文件里,必须先编译再运行,编译后的模块以.beam作为扩展名。-export([area/1])的意思是带有一个参数的函数area可以在此模块之外调用。-import(lists, [map/2])的意思是map/2函数是从lists模块里导入的,这就意味着我们可以用map(Fun,

2017-08-25 10:19:13 759

原创 Erlang学习笔记(三)Erlang基础语法

今天看了Erlang程序设计这本书Erlang基础知识部分,记录一下学习到的内容,方便以后回忆学习。1.变量Erlang的变量是单一赋值变量,一个变量在释放绑定之前是不能再被新的值绑定。 示例如下: 在这里X = 1,表明X已经绑定了值1,如果再给它绑定新的值2,那么此时会报错。 使用f().函数可以释放绑定值,然后变量可以重新绑定新的值。 示例如下: 如此就可以重新赋值

2017-08-23 17:39:19 1903

原创 Erlang学习笔记(二)Erlang基础语法之If、Case的使用

If 的使用1.If 的语法结构if Condition 1 -> Action 1; Condition 2 -> Action 2; Condition 3 -> Action 3; true -> Action 4end.在Erlang中If的使用如下:先对Condition 1求值

2017-08-23 16:25:50 5368 1

原创 Erlang学习笔记(一)Erlang在win10中配置环境

根据老师的安排开始了Erlang语言的学习之路,今天是第一天。还没搞明白,先挖个坑,记录一下如何实现环境变量的配置。网上也有一些前辈的经验之谈,我在这里也稍微总结一下,顺便加入一些自己的体会。环境配置如下:1. 下载Erlang OPT可执行文件,下载地址:http://www.erlang.org/downloads根据电脑的参数选择不同的版本,在这里我选择的

2017-08-22 16:17:39 3436

原创 Weka在Windows环境下中文乱码问题

问题描叙:在安装weka之后默认的字符编码是Cp1252,如果导入的数据文件中存在中文字符会出现乱码的情况 。解决方法:在Weka的安装根目录中找到RunWeka.ini文件,找到fileEncoding一行,将Cp1252修改为GB2312,这样就能正常显示中文了。(PS:注意不要找错了找到file encoding)PS:改为UTF-8也可以。

2017-01-23 21:29:29 948

原创 Ruby 中分页功能的实现

需求分析:实现两种分页方式:1.将从数据库中得到的数据进行筛选,筛选后的数据保存在数组之中,然后将数组中的元素在前台展示出来。举例:学生在选择课程的时候只能选择自己没有选修过的课程,已经选修的不能查看,因此需要将所有的课程从数据库中读出来以后减去已经选修的。2.将需要的数据从数据库中全部查出来,然后将所有的数据显示出来。举例:学生查看自己所有已经选择的课程,从数据库中查出来以后就可以直接在

2017-01-04 16:57:11 1865

原创 HDU 3068 最长回文(Manacher算法解决最长回文串问题)

这算是个历史遗留问题了啊,当时没怎么看,最近又发现了,标记一下。脑子越来越不好使了啊。Manacher算法:http://blog.csdn.net/xingyeyongheng/article/details/9310555解释一下:p[id]+id表示最远(从左向右)可以到达的字符串。最长回文Time Limit: 4000/2000 MS (Java/Others

2016-09-29 23:23:32 491

转载 ZendStudio快捷键

原文地址:http://www.cnblogs.com/tonysuen/archive/2009/12/13/1623006.htmlCtrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以

2016-04-19 20:48:54 427

转载 vim配置文件和插件

mawewei学长的vim配置,感觉很实用简易安装方法:打开终端,执行下面的命令就自动安装好了:wget -qO- https://raw.github.com/ma6174/vim/master/setup.sh | sh -x或者自己手动安装:(以ubuntu为例)安装vim sudo apt-get install vim安装ctags:sudo apt-get in

2016-04-13 10:16:04 602

转载 jsp:useBean用法

继续转载学习。原文连接:http://www.cnblogs.com/mabaishui/archive/2010/07/08/1773572.htmljsp:useBean动作最简单的语法为: 这行代码的含义是:“创建一个由class属性指定的类的实例,然后把它绑定到其名字由id属性给出的变量上”。此时,jsp:useBean动作只有在不存在同样id和scope的Bean时才

2015-07-07 18:27:25 876

转载 HttpServlet详解

写JSP作业各种方法都不会,转载点学习学习原文连接:http://www.cnblogs.com/panjun-Donet/archive/2010/02/22/1671290.htmlServlet的框架是由两个Java包组成:javax.servlet和javax.servlet.http. 在javax.servlet包中定义了所有的Servlet类都必须实现或扩展的的通用接口和类.

2015-07-07 17:41:20 483

原创 POJ 3580 SuperMemo(伸展树的基本操作)

题目大意:给你六个操作,让你实现这些功能。解题思路:伸展树的基本应用,用伸展数实现各种功能。SuperMemoTime Limit: 5000MS Memory Limit: 65536KTotal Submissions: 10404 Accepted: 3320Case Time Limit: 2000MS

2015-02-07 09:44:04 1396

转载 学习笔记----伸展树

http://dongxicheng.org/structure/splay-tree/

2015-02-07 09:22:44 1075

原创 HDU 4454 Stealing a Cake(三分暴力枚举)

题目大意:给你一个点,一个圆,一个矩形让你求出来,点到圆然后再到矩形的距离。圆和矩形你可以认为是可以穿过的。解题思路:三分枚举点到圆的位置,然后求出来总长度,找到一个最小的长度。枚举点的坐标的时候可以枚举角度,也可以枚举坐标。总长度等于点到圆上的点的距离加上圆上的点到矩形四个线段的最小距离的和。PS:输出%0.2lf所以精度要求不高,自我感觉枚举角度会更保证精度。 Stealing...

2015-02-05 16:43:21 1242

原创 Codeforces Round #290 (Div. 2) A,B,C,D

这场CF终于当了一次手速狗啊,简直了啊。A:签到,输出一个蛇形,看着样例找到规律打印路径就可以了。int main(){ int n, m; while(cin >>n>>m) { for(int i = 1; i <= n; i++) { if(i%2) {

2015-02-03 16:46:44 1134

原创 HDU 2438 Turn the corner(三分枚举角度)

题目大意:给你一个拐角,两边的路的宽度分别为x,y。汽车的长和宽分别为h,w。问你这个汽车否转弯成功。解题思路:如图,枚举角度。这是一个凸函数所以三分枚举角度。Turn the cornerTime Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tota

2015-02-02 16:09:58 1425

原创 Codeforces Round #288 (Div. 2) A,B,C,D,E

A:一个一个点向图里面加,判断其所在的位置与其他的点是否可以构成小矩形就可以了。B:贪心,如果前面的偶数有比他小的就找到一个最靠前的交换,如果前面的偶数都比它小,就找一个最靠后的交换。C:贪心,把蜡烛尽可能的放在恶魔,来之前,这样可以充分利用蜡烛的时间,模拟一下,不停地向前方就可以了。如果蜡烛时间小于需要的数目,一定不可以。const int maxn = 2010;int vi

2015-01-29 11:38:38 1042

原创 SPOJ 220. Relevant Phrases of Annihilation(后缀数组多次不重叠子串)

题目大意:给定N个串,求每个串至少出现两次的最长子串。解题思路:每个字符串至少出现两次且不可重叠的最长子串:二分枚举长度后在同一分组中对每一个字符串保留一个最小的位置和一个最大的位置,最后查看是否每个串在同一组中都有至少两个后缀,并且后缀的坐标差大于枚举的长度。POJ Problem Set (classical)220. Relevant Phrases of Annihil

2015-01-27 16:59:28 1135

原创 POJ 3294 Life Forms(后缀数组求k个串的最长子串)

题目大意:给出n个字符串,让你求出最长的子串,如果有多个按照字典序顺序输出。解题思路:将n个字符串连起来,中间需要隔开,然后我们二分枚举字符串的长度,求最长的长度,如果多个需要按照字典序保存起来,最后输出答案就可以了。时间复杂度是:O(n*log(n))。Life FormsTime Limit: 5000MS Memory Limit: 65536K

2015-01-27 15:38:42 1148

原创 POJ 3415 Common Substrings(后缀数组求重复字串)

题目大意:给你两个字符串,让你求出来两个字符串之间的重复子串长度大于k的有多少个。解题思路:先说论文上给的解释:基本思路是计算A的所有后缀和B的所有后缀之间的最长公共前缀的长度,把最长公共前缀长度不小于k的部分全部加起来。先将两个字符串连起来,中间用一个没有出现过的字符隔开。按height值分组后,接下来的工作便是快速的统计每组中后缀之间的最长公共前缀之和。扫描一遍,每遇到一个B的后缀就统

2015-01-27 10:57:29 1051

原创 POJ 2774 Long Long Message && URAL 1517. Freedom of Choice(求最长重复子序列)

两个题目意思差不多,都是让求最长公共子串,只不过poj那个让输出长度,而URAL那个让输出一个任意的最长的子串。解体思路:Long Long MessageTime Limit: 4000MS Memory Limit: 131072KTotal Submissions: 22313 Accep

2015-01-26 21:31:44 1373

原创 POJ 3693 Maximum repetition substring(后缀数组求最长重复子串)

题目大意:和spoj687类似,就是当长度相同是需要输出一个最小的字典序的序列。解体思路:这次需要枚举所有的从i到d = i-L/i (d = i-L%i)的位置,然后记录保证最大值的同时,求出来字典序最小的。Maximum repetition substringTime Limit: 1000MS Memory Limit: 65536K

2015-01-26 16:47:24 1221

原创 SPOJ 687. Repeats(后缀数组求最长重复子串)

题目大意:给你一个串让你求出重复次数最多的连续重复子串的重复次数。解题思路:论文上给出的解答是:这还没完,因为经过这两个点的情况还不完备,应还可以假设起点在 [ i*j-i+1, i*j-d],其中 d = i-L/i (d = i-L%i)其意义为根据已知的匹配长度,可以将起点往前移动的范围,太靠后将不能够构造出比之前更好的解。如果要求出某个最多的连续重复子串的最小字典序子需要枚

2015-01-26 15:59:20 1488

原创 Codeforces Round #228 (Div. 1) C. Fox and Card Game

题目大意:给你n组数,每组有m个,有两个人第一个人只能从开头开始取,第二个人只能从最后一个取,第一个人先手,每个人都足够聪明,问你他们最后的最大的得分为多少。解题思路:显然如果每组都可以对称着取数,不会影响总得分,影响的分的是个数为奇数的那几组,他们大小的先后就和先手有关,先手取掉最大的,后手取掉次大的,依次类推。。C. Fox and Card Gametime li

2015-01-26 09:36:42 1146

原创 Codeforces Round #287 (Div. 2)A,B,C,D,E

A签到题排序之后贪心一下就可以了。const int maxn = 10010;using namespace std;struct node{ int pos; int num;}f[maxn];bool cmp(node a, node b){ return a.num < b.num;}int p[maxn];int main(){

2015-01-25 20:19:32 1439

原创 URAL 1297. Palindrome(后缀数组求最大回文串)

题目大意:给你一串字符串,让你求出来它存在的最长连续的回文串。解题思路:先把字符串逆序加到数组中,然后用后缀数组求解。两种方法:1,枚举排名,直接比较rank相同的字符串的位置差是不是len。如果是的话,就记录求解;2,枚举地址,求第i地址与第2*len-i+1的lcp的最大值。PS:需要注意如果多解输出靠前的字符串。两种写法写在了一起,分别是Del,和Del1函数。1

2015-01-23 21:24:09 1119

空空如也

空空如也

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

TA关注的人

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