自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ACM_hades的梦想之路

剑锋所指,所向披靡!

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

原创 MQTT learn

MQTT是什么PublishSubscribe SystemTopicsBroker安装MQTT和Java前端和后端实时通信MQTT是什么由于网上的资料太繁杂,看了好久也没很明白。(目前只是大概了解一下)You need to understand few concepts:Publish/Subscribe SystemMessage: information exchanged b

2018-01-03 16:33:37 518

原创 CentOS上部署Jenkins&Nginx

整个流程CentOS安装Java JenkinsLinuxNginx安装Jenkins插件Maven配置Git安装TomcatNginx设置反向代理新建Maven Project整个流程CentOS安装首先我们要配置环境,现在是在CentOS下进行配置。我们进入到VMware虚拟机中进行新的虚拟机的配置。这里我们选择“典型->稍后安装操作系统->Linux->然后配置虚拟机

2017-11-27 00:02:43 3065

原创 Jenkins学习

Jenkins学习又是另一个任务,熟悉持续集成工具Jenkins。Docker安装首先我安装的是Docker CE for Windows,stable。但是启动好慢。。Docker使用JenkinsJenkins说到底就是在一天中,每个人都会进行提交代码,然而有可能会出错,那么找错误是一件有点麻烦的过程;所以这里我们每提交一次代码,然后Jenkins就会自动运行,然后看看它对不对,如果有错

2017-11-21 17:08:35 605

原创 Machine Learning「Week1」

Machine Learning「Week1」Machine LearningWeek1IntroductionSupervised LearningUnsupervised LearningModel and Cost FunctionModel RepresentationCost FunctionParameter LearningGradient DescentGradie

2017-05-21 20:57:29 527

原创 Kmp算法理解

Kmp个人理解:Kmp个人理解个人认为要理解kmp首先我们得了解几个概念最长前缀后缀基于最长公共最长前缀后缀匹配next数组的求法通过代码来递推计算next数组next数组的优化完整的kmp代码 感谢这篇博文,讲的很详细!个人认为要理解kmp首先我们得了解几个概念:最长前缀后缀:基于最长公共前缀后缀进行匹配next数组通过代码来递推计算next数组next数组的优化完整

2016-06-29 15:12:55 905

原创 hihocoder1032:最长回文字串

hihocoder1032:最长回文字串题意:就是给你一个字符串:让你在字符串中找到它的最大的回文字串。思路:这道题学到了一个新的算法,manacher求最长回文字串的算法。 首先推荐一个博客[这篇文章是我见过的讲解的最清楚的文章了,推荐给大家] Manacher算法: 首先我们设置p[i]表示以i为中心的回文串的长度,假设现在扫描到了i+k这个位置,那么maxlen代表的就是在(i+k)之前

2016-06-27 20:38:03 566

原创 poj(1724)——ROADS

题意:现在一个人要从1走到城市N,然后从城市i到城市j需要走len的距离,花费T这么多的金钱。然后那个人手中总共有K这么多的金钱,问你要走到城市N在不超过K钱的情况下最少需要走的距离是多少。思路:一开始有一个地方想错了,就是我认为会有重边,于是就简单的认为只要每次取重边中的最短距离和最少花费就好了。但是这个是错的!!因为我们不能简单的就这样进行更新,因为有可能一条路的距离而花费大,而另

2016-04-18 19:29:42 536

原创 OpenJudge(2815)——城堡问题

描述 1 2 3 4 5 6 7 ############################# 1 # | # | # | | # #####---#####---#---#####---# 2 # # | # # # # # #---#####---#####---#####---

2016-04-18 09:36:11 951

原创 OpenJudge(1221)——UNIMODAL PALINDROMIC DECOMPOSITIONS

题意:现在给你一个叫Unimodal Palindromic序列的东西,它符合是回文串并且它是峰型的,峰型意味着它就是先递增再递减。思路:一开始没思路,后来尝试着找思路,但是打表打出来之后发现有一些问题。因为没有限制条件,于是会发生有重复的现象。于是设dp[i][j]表示当和为i时,而且这个序列中的最小的那个数是大于等于j的时候所能够组成的情况数有几个于是dp[i][j]=dp[i

2016-04-12 22:20:46 614

原创 poj(1390)——Blocks

题意:就是给你总共n个方块,然后让你每次消去一些方块,然后获得的得分是消去方块数的平方。问最后游戏结束的时候得分最大是多少?思路:这道题是一道记忆性动归程序,主要是那个dp的状态转移方程有点难想。。。首先,我们记click_box(i,j,ex_len):表示的是在第j个大块之后有ex_len长度的大块(大块就是相同颜色进行合并之后的块)且j的颜色和ex_len的颜色相同时,在这种

2016-04-12 14:53:57 941

原创 OpenJudge(2775)-文件结构“图”

描述在计算机上看到文件系统的结构通常很有用。Microsoft Windows上面的"explorer"程序就是这样的一个例子。但是在有图形界面之前,没有图形化的表示方法的,那时候最好的方式是把目录和文件的结构显示成一个"图"的样子,而且使用缩排的形式来表示目录的结构。比如:ROOT| dir1| file1| file2| file3|

2016-04-05 20:53:48 2066

原创 OpenJudge-2663:完美覆盖

描述一张普通的国际象棋棋盘,它被分成 8 乘 8 (8 行 8 列) 的 64 个方格。设有形状一样的多米诺牌,每张牌恰好覆盖棋盘上相邻的两个方格,即一张多米诺牌是一张 1 行 2 列或者 2 行 1 列的牌。那么,是否能够把 32 张多米诺牌摆放到棋盘上,使得任何两张多米诺牌均不重叠,每张多米诺牌覆盖两个方格,并且棋盘上所有的方格都被覆盖住?我们把这样一种排列称为棋盘被多米诺牌完美覆盖。这是一个

2016-04-05 20:48:08 1714

原创 poj(1166)——拨钟问题

题意:又是一道枚举题。。9个整数,表示各时钟指针的起始位置,相邻两个整数之间用单个空格隔开。其中,0=12点、1=3点、2=6点、3=9点。输出输出一个最短的移动序列,使得9个时钟的指针都指向12点。按照移动的序号从小到大输出结果。相邻两个整数之间用单个空格隔开。操作:移动 影响的时钟 1 ABDE 2 ABC

2016-03-18 10:04:01 2183 2

原创 poj(1222)——EXTENDED LIGHTS OUT

题意:当前有一个6*5的矩形,然后输入中给出每个灯的状态,1表示当前灯是亮的,0表示灯是灭的。然后让你给出一种能把所有的灯都熄灭的方案,并输出之。其中输出的矩阵中1表示 按这个位置的灯,0表示不按这个位置的灯。思路:数据范围也不是很大。。直接暴力就好了。。我是对第一行进行枚举,然后只要把第1行搞定了就可以搞第二行,第三行,,,依次类推。我用一个num[i][j]表示当前格子的状

2016-03-15 21:45:32 754

原创 hdu(3652)——B-number(数位dp)

题意:让你求出1~N中含有13这个子串的并且能够被13整除的数有几个,并输出数量。思路:卡了好几天啊!!还是看了别人的题解才获得的思路。本人一开始想的比较简单,就是记录一下乘出来的数字,然后在最后判断一下,但是我觉得我是在记忆化那里写错了,我记忆化保存的状态好像少了一维,所以导致最后错误代码输1000这个数据时是错误的答案,现在也没能想清楚要怎么修改自己的这个程序(貌似再加一维?)

2016-03-01 20:30:20 584

原创 51nod(1183)——dp

1183 编辑距离编辑距离,又称Levenshtein距离(也叫做Edit Distance),是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。例如将kitten一字转成sitting:sitten (k->s)sittin (e->i)sitting (->g)所以kitt

2016-02-26 21:28:07 624

原创 hdu 2089——不要62

题意:就是求出来一个数段中不含有62的数的数量有多少?和之前的一道题差不多,就是稍微改了一下条件就好了。#include#include#include#include#include#include#include#include#include#includeusing namespace std;typedef __int64 ll;typ

2016-02-25 14:10:10 548

原创 HDU 3555——Bomb

这也是一道数位dp的题。题意:让你在1~N中间找出含有“49”的数有几个,并输出。思路:这一开始我想着和上一题一样,正着枚举,但是发现这样子不太方便,后来借鉴了别人的思路发现我们可以反着做,先找出不含有49的数有几个,然后用N减掉就好了。这里还包含了0,所以记得要加上1。*然后dp[dep][pre]记得要开LL,要不然会WA。#include#include#

2016-02-24 21:12:19 513

原创 HYSBZ 1026——windy数(数位dp)

重新搞了一下数位dp。。学会了用类似于dfs的递归方式去写。windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 windy想知道,在A和B之间,包括A和B,总共有多少个windy数? 我们假设当depless则代表之前枚举的数位上是否有过数字比给定的上界数字对应数位上的数字小。1)less为真,则表示当前数位可以枚举的值为0~9

2016-02-24 21:00:25 641

原创 hdu(1686)——Oulipo

题意:给你两个串A,B,让你求A串在B串中的出现次数。思路:kmp。。。但是一开始没想通,其实只要在求next数组时,最后把len-1那个位置的next值也求出来就好了,因为我们知道了最后一个字母对应的最大公共前缀后缀,那么我们就可以在第二个样例的时候当完成第一次匹配后,我们知道文本串后一位应该和模式串的那一位去匹配了。其实说白了就是把最后一个字母的最大公共前缀后缀也求出来了嘛,这样我

2016-02-15 23:55:44 1420 1

原创 hdu(1171)——Number Sequence

题意:就是让你对两个数字串进行匹配,并且输出当a[K] = b[1], a[K + 1] = b[2], ...... , a[K + M - 1] = b[M]. 时的那个最小的K值。思路:就是对两个数字串进行匹配,并且同时记录开始下标。#include#include#include#include#include#include#include#incl

2016-02-15 23:46:54 463

原创 hdu(2203)——亲和串

题意:实质就是让你判断能否让s2与s1进行完全匹配,也就是普通的kmp问题。但是这道题又考虑到了要让s1进行转化然后去和s2匹配,我们可以转化为使s1复制为原串的2倍,也就是2个s1。然后让这个新的s1去和s2进行匹配。这里这个思路非常巧妙~~~#include#include#include#include#include#include#include#inc

2016-02-15 23:41:25 539

原创 hdu(2544)——最短路(邻接表+bellman-ford使用队列优化)

又一次做了最短路。。只不过这回使用邻接表写的。。一开始wa了好久。。无向图建立邻接表和有向图的区别就是就是要把两边都加进去就好啦。#include#include#include#include#include#include#include#include#include#includeusing namespace std;typedef __int6

2016-02-12 20:41:56 672

原创 51nod(1264)——线段相交

题目:给出平面上两条线段的两个端点,判断这两条线段是否相交(有一个公共点或有部分重合认为相交)。 如果相交,输出"Yes",否则输出"No"。这道题直接套白书里面的模板就行~但是要注意的是因为白书给的那个模板不包含端点。所以我们这里需要进行修改一下。包含了端点,所以自然点积就为0了。。#include#include#include#include#incl

2016-02-11 15:26:49 611

原创 poj(2318)——TOYS(叉积的简单应用)

第一道计算几何题。。题意:在一个长方形盒子中被线段划分成了几段区域,然后每段区域中都有一些物品,让你判断在每个区域中分别有几个物品。叉积的简单应用:这就要用到向量叉积。叉积的一个非常重要的性质是通过它的符号判断两向量相互之间的顺逆时针关系:设向量P=(x1,y1),Q=(x2,y2)如果P*Q>0则P在Q的顺时针方向;如果P*Q=0则P与Q共线,可能同向,与可能反向;

2016-02-11 14:51:58 614

原创 hdu(1521)——排列组合

题意:Problem Description有n种物品,并且知道每种物品的数量。要求从中选出m件物品的排列数。例如有两种物品A,B,并且数量都是1,从中选2件物品,则排列有"AB","BA"两种。 Input每组输入数据有两行,第一行是二个数n,m(1 Output对应每组数据输出排列数。(任何运算不会超出2^31的范

2016-01-28 23:25:52 457

原创 hdu(2152)——Fruit

题意:Problem Description转眼到了收获的季节,由于有TT的专业指导,Lele获得了大丰收。特别是水果,Lele一共种了N种水果,有苹果,梨子,香蕉,西瓜……不但味道好吃,样子更是好看。于是,很多人们慕名而来,找Lele买水果。甚至连大名鼎鼎的HDU ACM总教头 lcy 也来了。lcy抛出一打百元大钞,"我要买由M个水果组成的水果拼盘,

2016-01-28 23:23:02 494 1

原创 hdu(2069)——Coin Change

题意:现在有价值为n的硬币,然后你有1,5,10,25,50的小硬币。然后问你有多少种方法可以找回价值为n的硬币。注意最多只能使用100个硬币,然后当n=0时,输出只有一种方案。思路:因为这里最多只能使用100个硬币,所以我们需要增加一维来限制状态。因为第一维限制的是硬币的价值嘛。所以设为c1[maxn][100],c2[maxn][100]。唯一要注意的就是要多加一层for循

2016-01-28 23:18:10 1055

原创 hdu(1171)——Big Event in HDU

这道题和之前的那一道差不太多。。就是先把每种物品的数量先都存下来就好了,然后在第一层里面去进行for就好。最后再对sum/2进行for一遍,如果存在该方案的话,那么就输出。。#include#include#include#include#include#include#include#include#include#includeusing namespace s

2016-01-28 23:02:21 373

原创 hdu(1085)——Holding Bin-Laden Captive!

母函数又叫生成函数。其中又包含指数型母函数和普通型母函数。普通型母函数主要是用来求多重集的组合问题(也就是与顺序无关)。指数型母函数主要是用来求多重集的排列问题(也就是与顺序有关,所以要考虑重复的情况)。普通型母函数的理解:http://blog.csdn.net/vsooda/article/details/7975485以及其模板的理解:http://acm.hdu.edu.cn/

2016-01-28 22:28:48 599

原创 hdu(5612)——Baby Ming and Matrix games

题意:问题描述铭宝宝喜欢玩游戏,这两天他喜欢玩下面这个游戏了。给出一个n*mn∗m的矩阵,矩阵的(i*2,j*2)(i∗2,j∗2) (其中i, j = 0, 1, 2...i,j=0,1,2...) 位置上为0~9的数字,矩阵中每两个数字中间有一个算术符号(+、-、*、/),其他位置用#填充。问题是:是否能在上述矩阵中,找到一个表达式,使得表达式的计算结果为给出的sum(表达

2016-01-24 18:04:28 506

原创 Codeforces Round #340 (Div. 2)——D

题意:给你3个点的坐标,然后问你最少用几条折线就可以把这3个点给连接起来,并且同时要满足这几条折线都平行于坐标轴。(具体详见样例)思路:直接模拟,要小心。。。#include#include#include#include#include#include#include#include#includeusing namespace std;typedef __i

2016-01-24 13:37:58 403

原创 Codeforces Round #340 (Div. 2)——C

题意:给你两个喷泉和n个花的位置,要能够使这两个喷泉完全包含所有的花,问你r1^2+r2^2的最小值是多少。思路:因为只有两个喷泉,所以只需要分别以这两个喷泉为中心进行枚举就好了。注意要开ll,否则会爆int。。#include#include#include#include#include#include#include#include#includeusing

2016-01-24 11:50:27 489

原创 hdu(5119)——滚动数组dp

题意:现在一个人有n个朋友,它的每个朋友都有一个值,它每次可以选择一些朋友的值然后将它们异或起来,如果最后的异或和大于等于M的话,那么这个人就赢了。问,这个人有几种赢的方法。思路:求有几种方法的题目都可以用dp来思考。dp[i][j]:前i个人异或和为j有几种方法。由于直接开40个人会MLE,所以只能用滚动数组来代替了。dp[i%2][j]=dp[(i-1)%2][j]+dp[

2016-01-22 16:57:35 572

原创 zjnu(1299)——零件分组(LIS变形)

零件分组(Stick)-动态规划-中高级Case Time Limit:1000MSTime Limit: 3000MS Memory Limit: 65536KTotal Submissions: 62 Accepted: 21Description某工厂生产一批棍状零件,每个零件都有一定的长度(Li)和重量(Wi)。现

2015-12-02 23:01:21 3145

原创 hdu(5586)——Sum(最大连续子段和)

Sum  Accepts: 322  Submissions: 940 Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 65536/65536 K (Java/Others)问题描述给n个数{A}_{1},{A}_{2}....{A}_{n}A​1​​,A​2​​....A​n​​,

2015-11-29 10:49:15 633

原创 hdu(1003)——Max Sum(最大连续子段和)

题意:就是给你n个数,然后让你求n个数的最大连续的子段和。思路:就是一个最大连续的子段和,只是因为这里有负数,所以我们需要预先存一个记录最大值的数lmax=-inf,然后再进行更新。#include#include#include#include#include#include#include#include#includeusing namespace

2015-11-29 10:43:27 576

原创 Codeforces Round #332 (Div. 2)——C. Day at the Beach

题意:现在有n个城堡,然后每个城堡都有一个高度h[i],现在问你要把这个n个城堡按照高度来排序的话,最多需要进行几次操作。操作必须满足:现在你可以把城堡划分为几个块,然后必须满足如下条件:1)城堡被划分为连续的blocks,这连续的blocks必须满足里面的城堡序号是连续的。2)每个块都是单独进行sort的,即为当这几个块都sort完成后,我们必须满足所有这n个城堡的高度都是按

2015-11-21 13:54:19 473

原创 zjnu(1277)——书的复制

书的复制(Book)-动态规划-中高级Case Time Limit:1000MSTime Limit: 3000MS Memory Limit: 65536KTotal Submissions: 32 Accepted: 29Description现在要把M本有顺序的书分给K个人复制(抄写),每一个人的抄写速度都

2015-11-20 17:28:52 720

原创 hdu(5565)——Clarke and baton

这道题比赛的时候看了一下题,以为用优先队列能过,没想到常数过大,所以T了= =题意:现在有n个人,每个人有一个体重值w[i],然后,每次都可以使体重最大的那个人的体重值减少1,如果有多个体重值相同的人,那么就使序号最小的那个人体重值减少1,然后就这样进行q次,最后让你输出它们变化后的体重+它们的序号的异或和。思路:1)我是按照官方题解写的,首先开两个可变数组a,b,a是用来存体重是

2015-11-19 16:35:00 644

空空如也

空空如也

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

TA关注的人

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