自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

swineherd的博客

此博客已弃,转wp博客

原创 PTA天梯L3-020 至多删三个字符(dp)

题意:给定一个全部由小写英文字母组成的字符串,允许你至多删掉其中 3 个字符,结果可能有多少种不同的字符串? 思路:果断dp。设dp[i][j]为前i个字符删掉j个字符的结果。从删掉一个字符开始想,如果当前字符和上一个字符相等,那么重复的情况只有1种,就是删掉重复的字符其中一个;如果不等,那么考...

2019-03-03 14:44:53 161 0

原创 hadoop学习笔记之配置、三种模式配置及区别

目录 JDK、Hadoop安装、配置 本地模式(standalone operation)配置 实例1 实例2 伪分布式模式配置 本地运行 YARN上运行 三种模式区别 单机模式 伪分布式模式 完全分布式模式 JDK、Hadoop安装、配置 先去官网http://ha...

2019-03-02 02:03:48 71 0

原创 java学习笔记之泛型

泛型 在类(接口)定义的时候,还不能明确具体的类型。 在使用的时候才明确类型,这个叫做泛型。 泛型只能是引用类型,如果需要使用到基本数据类型,实际要用到的是包装类型。 int--->Integer char--->Character double---&am...

2019-02-28 22:23:11 60 0

原创 java学习笔记之基础知识

控制台:javac HelloWorld.java 编译,java HelloWorld 运行 类名首字母一定大写。 xjad软件可以反编译字节码文件(.class) switch 可以放入的类型有 int byte short char 枚举 String 随机数 double d=Ma...

2019-02-28 22:22:48 50 0

原创 java学习笔记之面向对象

在一个文件中只能有一个public的类 定义于方法中的变量叫局部变量。局部变量在栈内存,必须初始化之后才能使用;成员变量在堆内存,具有默认初始值。 set()方法:用于成员赋值,要自己写,如setName,get()方法用于获取成员变量。 this.name获取成员变量,this不能使用在s...

2019-02-28 22:22:31 67 0

原创 java学习笔记之Collection、List、ArrayList、LinkedList

简单示例 package com.mcq; import java.util.ArrayList; import java.util.Collection; public class CollectionDemo { public static void main(String[] args...

2019-02-28 22:22:19 47 0

原创 java学习笔记之Map、HashMap、TreeMap、Collections

Map HashMap 遍历map: 方法一:使用keySet()方法 package com.mcq; import java.util.HashMap; import java.util.Map; import java.util.Set; public class Has...

2019-02-28 22:22:08 52 0

原创 java学习笔记之异常、Date类

Throwable:(1)Error:应用程序不应该去捕获的异常情况;(2)Exception:应用程序可以捕获的异常。出现异常之后的语句无法执行 RuntimeException:在程序正常运行期间抛出的,不需要提前做任何处理。 编译时期异常(ParseException)处理方法:(1)A...

2019-02-28 22:21:55 111 0

原创 java学习笔记之Math、Random、Integer、Calender类

猜数字游戏: package com.mcq; import java.util.Scanner; public class MathDemo { public static void main(String[] args) { int num=(int)(Math.random()...

2019-02-28 22:21:42 93 0

原创 java学习笔记之枚举类型、file、IO流

目录 枚举类型 File 文件过滤 递归删除所有文件 IO流 字节流(最小单位是字节) FileOutputStream FileInputStream 高效的方法: 拷贝图片: BufferedOutputStream BufferedInputStream 效率比较 ...

2019-02-28 22:21:28 71 0

原创 IT LIFE

java java学习笔记之基础知识 java学习笔记之面向对象 java学习笔记之Collection、List、ArrayList、LinkedList java学习笔记之Map、HashMap、TreeMap、Collections java学习笔记之泛型 java学习笔记之异常...

2019-02-28 22:20:12 55 0

原创 Linux学习笔记之用户和权限

管道符号 |:把前一个命令的输出结果传递给后一个输出命令处理,如cat /etc/passwd | more 按页显示文件内容;cat/etc/passwd | grep 'root';cat /etc/passwd | head -3;ifconfig | grep ...

2019-02-28 22:16:50 53 0

原创 Linux学习笔记之基本命令

/ 表示根目录,路径以/分割,文件或目录名称严格区分大小写 cd /……/ 进入某个目录,cd..进入上层目录 绝对路径:以斜线开头,文件位置的全路径,采用绝对路径可以到处使用;相对路径:不以斜线开头,当前工作目录的相对位置,可以通过相对路径方式来指定一个文件名。 pwd打印当前目录 ls...

2019-02-28 22:14:20 53 0

原创 Linux学习笔记之shell编程(基础命令)

目录 环境变量 位置变量 预定义变量 自定义变量 算数运算 内置测试判断 成功/成立(1) 失败/不成立(0) 数值比较: 字串测试: 文件测试: date 取字符串 find 查找文件 环境变量 用户环境变量(/root/.bash_profile) 系统环境变量...

2019-02-28 22:14:02 52 0

原创 linux学习笔记之shell编程(脚本)

脚本实例 #!/bin/bash # #号表示注释 # shell脚本从上往下依次执行 date grep 'root' /etc/passwd 执行脚本 先加权限:chmod +x 1.sh或chmod 744 1.sh 输入绝对路径或相对路径如./1.sh (./表...

2019-02-28 22:13:40 48 0

原创 Linux学习笔记之压缩、解压、磁盘分区、软件包安装

tar.gz 压缩:tar -zcvf 压缩后的包名.tar.gz 压缩的目标;解压: tar -zxvf 压缩后的包名.tar.gz -C 目标目录(默认当前目录)。如tar -zcvf varlog.tar.gz /var/log/,-z表示压缩成gz格式 tar.bz2 压缩tar -jc...

2019-02-28 22:13:15 161 0

原创 Linux学习笔记之正则表达式(grep,sed,awk)

grep [a-z] [A-Z] [0-9] . 单个任意字符 * 前面字符重复的次数>=0 + 前面字符重复的次数>=1 ?前面字符重复的次数 0 or 1 {n,m} 前面字符重复的次数n到m次 连用:[A-Z][0-9] grep '[0-9]&#...

2019-02-28 22:12:52 66 0

原创 java学习笔记之Set、HashSet、TreeSet、排序的比较次数

set 元素不可重复,无序 通过分析HashSet的add()方法源码得知,添加不重复元素的关键在于两个方法:(1)hashCode()方法;(2)equals()方法 如果添加的是引用类型,那么需要重写这两个方法,原因在于HashMap的put方法中是这两个方法进行判断的。 packa...

2019-02-20 23:37:48 98 0

原创 CodeForces - 1099D(树上贪心+DFS)

题意: 给出一棵有根树,根节点编号为 1,每个节点存在一个权值 a[x],同时还有一个 s[x]为从根节点到节点 x 这条路径上的所有节点的 a[x]之和。此时,擦除了所有深度为偶数的节点的 s[x](根节点深度为 1)。然后要求反推出所有节点的 a[x],使得所有节点的 a[x]之和最小。 ...

2019-01-22 13:35:04 94 0

原创 CodeForces - 13E (分块)

题意: 有n个弹簧,每次扔个球,这个球可以弹到i+power[i]的位置 然后有两种操作 将第i个位置的弹簧的弹力改为b 将球扔到第i个位置,问这个球最后弹到了哪儿,这个球弹了几次? 思路: 对n分块,用cnt数组保存每一个点跳到别的块的次数,to数组保存每个点能直接或间接跳到的别的块的下标...

2019-01-20 00:21:17 53 0

原创 CodeForces - 551E(分块)

题意: 给定一个长度为N的序列。 有2个操作:1.序列第l项到第r项加v(区间加),2 .求整个序列中值为v的数的位置的差值最大是多少。不存在输出-1。 思路: 对n分块,用一个vector维护每一块排序后的序列,然后二分答案。分块时对每一块的vector赋值,这里因为最后要输出下标的差值,...

2019-01-17 23:08:04 64 0

原创 CodeForces - 103D(分块+dp)

题意:给你n个数,p个查询,每次查询下标为a,a+b,a+2b……的和。 思路:对n分块,b>时,可以直接暴力求和,最大扫描次数为O();b<=时,用一个dp[j]存放从第j个数出发求得的和,容易得出dp[j]=dp[j+b]+a[j](这里设a为数据数组,下面的a和...

2019-01-16 21:48:29 83 0

原创 HYSBZ 2957(分块)

题意: 小A的楼房外有一大片施工工地,工地上有N栋待建的楼房。每天,这片工地上的房子拆了又建、建了又拆。他经常无聊地看着窗外发呆,数自己能够看到多少栋房子。   为了简化问题,我们考虑这些事件发生在一个二维平面上。小A在平面上(0,0)点的位置,第i栋楼房可以用一条连接(i,0)和(i,Hi)的...

2019-01-15 15:20:59 108 0

原创 POJ 1159(最长公共子序列+滚动数组)

题意:最少插多少个字符到原字符串使之变成回文串。 思路:求字符串和字符串的逆序的最长公共子序列,然后用总长度n-公共长度。交一发MLE……5000*5000的int数组超内存,只能思考用滚动数组来解决。我们考虑LCS的DP过程,设dp[i][j]为两字符串的前i和前j个最长公共子序列长度,当s[...

2019-01-13 14:06:06 125 1

原创 POJ 2528 Mayor's posters (线段树+离散化+区间覆盖)

题意:n(n<=10000) 个人依次贴海报,给出每张海报所贴的范围li,ri(1<=li<=ri<=10000000) 。求出最后还能看见多少张海报。 思路:由于数据范围比较大,用数组存不下,所以可以离散化成n的范围,而这题的离散化也比较...

2018-12-12 20:03:24 83 0

原创 2018焦作区域赛 E - Resistors in Parallel (Gym - 102028E) (数学+高精度)

In this physics problem, what we are concerned about are only resistors. If you are poor at physics, do not worry, since solving this problem does no...

2018-12-10 14:40:17 1264 2

原创 HDU 3974 和 POJ 3321(线段树维护DFS序)

先介绍下DFS序 树的dfs序就是用来维护一系列树上的问题的,这类问题主要是解决一棵树上的所有后代结点信息的更改和祖先结点有关,主要先通过dfs来记录一个树的每一个顶点的出入时间戳,来控制它子树上的所有结点的状态的更新。 用in数组记录每个结点入栈的时间,out数组记录出栈时间(如果一个结点出...

2018-12-04 15:21:37 80 0

原创 HDU 1540(线段树区间合并+维护连续0或1)

题意:1-n个地道,m个次操作,D代表摧毁第i个地道,Q代表查询包含第i个地道的最大连续地道数目,并输出。R代表修复最近摧毁的那个地道; 思路:这题利用了线段树的相邻结点区间是连续的特性,而且是维护连续的1,所以用llen、rlen、len数组分别表代表当前结点的1的最长连续前缀长、最长连续后缀...

2018-12-03 09:51:58 55 0

原创 ZOJ 1610 Count the Colors(线段树区间染色+区间统计)

题意: 在一条长度为8000的线段上染色,每次把区间[a,b]染成c颜色。显然,后面染上去的颜色会覆盖掉之前的颜色。 求染完之后,每个颜色在线段上有多少个间断的区间。 思路: 此题有个坑点,就是染色是染区间,而不是染点,什么意思呢?举个栗子,比如1 2 1,3 4 1([1,2]和[3,4...

2018-12-01 21:06:53 77 0

原创 HDU 4027 Can you answer these queries?(线段树)

题意: 给一个数组序列, 数组长度为100000  两种操作: 一种操作是将某一个固定区间所有数开方(向下取整) 另一种操作是询问某个区间的所有数字之和。 思路: 数据范围2^64,最多开6、7次就到1,所以判断当sum[rt]==r-l+1时 return(相当于剪枝),由于更新比较特...

2018-12-01 20:34:32 49 0

原创 POJ 3026 Borg Maze (最小生成树+bfs)

题意: 从S点有一伙人出发去消灭A点的敌人,在S点或者A点可以分裂成几个小队然后分别走, 这样路径=总队路径+各个小队路径   问你怎样路径最短 思路: S点可以看成是A点,用bfs预处理每两个A(包含S)的最短距离,题目中的分裂就可以看成树的分叉,把所有A点构成最小生成树,其权值和即为最...

2018-11-30 13:25:19 44 0

原创 POJ 2349 Arctic Network(最小生成树+第K大的边)

题意:有S颗卫星和P个哨所,有卫星的两个哨所之间可以任意通信;否则,一个哨所只能和距离它小于等于D的哨所通信。给出卫星的数量和P个哨所的坐标,求D的最小值。 思路:因为题目要求每两个点都能通信,所以可以转化成最小生成树,然后记录每次加进去的边,最后对这个数组排一下序,因为s个卫星能连s-1条边,...

2018-11-28 17:49:45 75 0

原创 POJ 2031 Building a Space Station(最小生成树+简单几何)

题意: 在一个三位平面上有几个球体,然后输入数据是给你N个球的球心坐标,以及半径。科学家们想要实现各个球之间的接触,也就是有表面的接触。当然,两个球之间可能会有相交的地方( dis(a,b) <= 0 ),那么这两个球是不用你新建道路来实现想通的。 思路: 求每个球之间球面的距...

2018-11-28 11:36:53 80 0

原创 POJ 1456 (贪心+并查集)

题意:买卖N件东西,每件东西都有个截止时间,在截止时间之前买都可以,而每个单位时间只能买一件。问最大获利。 思路:一开始我想错了,以为每个东西只能在特定的时间买,结果是截止时间前买都可以,所以先对所有数据按利润由大到小排序,然后用并查集来找截止时间的更新,也就是如果某个点的截止时间大于0,那么截...

2018-11-27 21:16:15 61 0

原创 HDU 1272 (并查集)

题意:上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走。但是她设计迷宫的思路不一样,首先她认为所有的通道都应该是双向连通的,就是说如果有一个通道连通了房间A和B,那么既可以通过它从房间A走到房间B,也可以通过它从房间B走到房间A,为了提高难度...

2018-11-27 13:41:47 84 1

原创 散列——分离链接法

来自《数据结构与算法 王立柱》 //HashTable.h #include<list> #include<vector> #include<iomanip> #include<algorithm...

2018-11-26 09:28:50 71 0

原创 【模板】带权并查集 HDU 3038

具体学习参考https://blog.csdn.net/sunmaoxiang/article/details/80959300#commentBox 这篇博客也是我觉得比较好理解的方法——向量法,具体体现在代码。 hdu 3038 区间和悖论问题 假如说区间【fx,x】是之前建立的区间...

2018-11-25 21:51:03 65 0

原创 HDU 1010 Tempter of the Bone (DFS+剪枝(奇偶剪枝原理))

题意: 根据地图,'S'为开始位置,'D'为门的位置,' . '为空地,'X'为墙,不能经过, 问:在指定的时间,是否能到达'门'的位置. 注意:路不可以重复经过,时间也要刚好是 t ,不能少...

2018-11-24 21:02:35 112 0

原创 POJ 3159 Candies(差分约束)

题意:给n个人派糖果,给出m组数据,每组数据包含A,B,c  三个数, 意思是A的糖果数比B少的个数不多于c,即B的糖果数 - A的糖果数<= c 。 最后求n 比 1 最多多多少糖果。 思路:典型的差分约束问题,因为是求最多,所以找最短路,这里加边时如果按INPUT顺序那么不等式...

2018-11-24 19:02:44 69 0

原创 poj 2240 (spfa判正环)

题意:给你m种货币,给你m种货币兑换规则,问通过这些规则最后能不能盈利。eg:1美元换0.5英镑,1英镑换10法郎,1法郎换0.21美元,这样1美元能换0.5*10*0.21=1.05美元,净赚0.05美元。 思路:spfa判变大环。 #include<iostream&...

2018-11-24 14:34:06 41 0

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