自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jiengup_的博客

这里是一个有梦想的算法小白的攀爬之路。

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

原创 [解题报告] CCPC网络预选赛1002 array (权值线段树、新思路)

原题地址题意给一个长度为n(1~1e5)的排列,紧接着有m次操作,每次操作有以下两种:(1,pos)表示将pos位置的值加上1e7(2,r,k)表示需要输出下标与在(1,r)范围内的元素的值都不相同且不小于k(1~n)的最小值思路这个题目可以直接用主席树+set莽过,但是鉴于本人太菜不会主席树,所以就上网学了一下线段树的写法,大概理解成下面这个样子:首先我们以各个元素的值(1~n)...

2019-09-03 18:50:18 167

原创 [解题报告] HDU 6635 Nonsense Time(多校 LIS 思维 暴力)

题目链接题目大意起初给你n的排列,然后给你一个序列b,b[i]表示第i轮位置为b[i]的数可用,问每一轮可用的数列形成的LIS(最长上升子序列)为多少。LIS推荐一篇特别详细特别用心的博客:戳最长上升子序列 (LIS) 详解+例题模板 (全)LIS的两种nlogn的方法都需要掌握,但是常用的是贪心+二分的这种,树状数组思想比写法重要,要善于灵活应用,特别是很类似于离散化然后添点形成大小...

2019-08-24 17:08:37 144

原创 【解题报告】HDU 6099 Find the answer (离散化、树状数组、二分)

原题地址题目大意给定一个长度为n的序列和一个整数m,要求你对这个序列里的每一个位置i输出一个值,值为在前1到i-1个数中最少将多少个数变成0之后满足所有的1到i个数加和小于等于m。思路首先很容易想到的是,我们每当不满足前1到i个数的和小于等于m时,我们要尽量取前1到i个数中较大的数变为0,这样可以使得我们取数的个数是最小的,换一种角度想,设第i个位置的值为a[i],即我们要在前i-1个数...

2019-08-01 16:52:34 231

原创 【解题报告】HDU 6602 Longest Subarray(思维,线段树的应用,线段树上二分)

原题地址借鉴dalao的博客#include <iostream>#include <cstdio>#include <algorithm>#include <map>#include <queue>#include <cstring>#include <stack>#define lson r...

2019-07-27 11:08:18 207

原创 牛客多校训练营(第三场) F Planting Trees(单调队列,处理矩阵)

题目大意给你一个n*n的矩阵,矩阵的每个元素有对应的权值,给一个值m,求一个该矩阵的最大的子矩阵,保证子矩阵中最大权值的元素和最小权值的元素的权值之差不超过m。思路发现现在越来越多单调队列和单调栈的问题了,特别是在一个矩阵或者方阵中求一个最大的子矩阵这样类似的问题,一般这种问题我们需要将二维的矩阵降维处理,即将行列分开处理,先处理好一维,然后在去考虑另外一维,而处理一维的问题,单调队列和单...

2019-07-27 11:07:55 132

原创 【解题报告】POJ3020 Antenna Placement(二分图、最小路径覆盖)

原题地址题目大意有一张m * n的地图,地图上有很多点,我们可以在某一点处建造一个区域,去包括这个点和它四周的的点中的其中一个(周围没有点仅包括这一个点也是可以的),问最小需要建造多少区域,可以将地图上所有的点全部包括解题思路首先这个题目的条件是每一次建造一个区域,是只能包括住某一点和其四周的点中的其中一个,即最多包括两个点,那么我们要做的就是尽可能得去建造可以包括两个点的区域(即匹配问题...

2019-05-23 22:04:37 189

原创 【解题报告】HDU - 4614 Vases and Flowers (线段树+二分思想)

原题地址题意整个题目抽象下来就是说给一个长度为n的初始全为0的串,然后接下来有m个操作,操作1是从第a个位置开始,一直到n个位置,将b个0变成1,如果从a开始没有0存在输出“Can not put any one.",否则就进行变更(变更的个数可以小于b)并且输出变更的区间。操作2是问a到b位置之间有多少个1,并且将a到b位置全部变为0。思路这个题目和上次做过的那个摧毁村庄的题目很像,当时...

2019-05-02 18:08:55 208

原创 【解题报告】 HDU - 1540 Tunnel Warfare(区间更新区间维护线段树、树状数组的二分运用)

原题链接——HDU原题链接——poj题意开始的时候有n个村庄相互联通,然后有m条命令,每条命令可以进行如下操作:摧毁一个村庄修复一个村庄询问与第x个村庄相互联通的现存的村庄最多有多少个对于已经摧毁的村庄,即算作一个断点,其左右相邻的村庄不再联通。对于每一次询问操作,输出最大的联通村庄数目。思路这道题目因为是单点更新单点询问,让人很容易能想到要用树状数组去维护前缀和,但是询问最...

2019-04-22 18:24:36 135

原创 【解题报告】 POJ - 2912 Rochambeau(种类并查集好题、枚举)

原题地址题意有n个小朋友,玩剪子石头布,其中n-1个小朋友被分为了3组(即石头、剪刀、布组)同一组的小朋友每次都只能出对应的手势,且可能存在空组。还有一个小朋友很特别,他不受限制,可以任意出剪子石头布。给m组胜负关系的信息,问是否能找出这个特别的小朋友,并且要在至少获取多少局游戏信息才能确定这个特别小朋友,如果游戏逻辑出错这输出“Impossible”, 如果决定不了则输出“Can not d...

2019-04-11 21:26:43 209

原创 【解题报告】 HDU - 1074 Doing Homework(状压dp入门)

原题地址题意按照名字的字典序给出n门课程作业的截止时间和小明完成需要的时间,如果在超过截止时间之后完成作业则会罚时超出的时间,问怎样安排完成作业的顺序得到最小罚时,并按照字典序输出完成作业的顺序。思路这道题目其实一拿到就知道用贪心解决,每次完成截止时间最近的作业就行了,但是贪心可以得到正确的最小罚时,却无法保证完成作业的顺序的字典序最小。而这道题目的n的范围很小,所以想到状压dp,虽然可能...

2019-04-09 17:16:21 242

原创 【解题报告】 HDU - 3746 Cyclic Nacklace(kmp/最小循环节)

原题地址题意给一个字符串,要求你求出在末尾或者开头最少加几个字母使该字符串为一个循环字符串且至少循环2次思路这个题看完我就翻到我之前的博客:【解题报告】Codeforces Round #545 (Div. 1) B. Camp Schedule那个题目和这个很相似,我当时做上面这题的时候才刚刚接触kmp算法,还是从数据结构的教材上面学的,做完可以说是对kmp有所感悟,当时我还不知道最...

2019-04-03 21:34:07 153

原创 【解题报告】LightOJ - 1074 Extended Traffic(spfa判断负环并标记)

原题地址题意有n个节点,和m带权单向边,要求从第一个节点到其余所有边的最短路,若该最短路小于3,则输出?思路题目的意思非常好理解,但是这道题目很难处理的一点在于如果图中出现了负环,那么该负环上的点和所有与该负环连接的点的最短路都不存在,如何去找到这些负环和起联通点是这个题目的关键。我之前学习spfa只知道如何判断有无负环出现,但这个题目需要标记所有的负环相关点,这个我们可以利用bfs来做到...

2019-04-01 20:53:55 192

原创 【解题报告】 POJ - 3159 Candies(差分约束、最短路)

原题地址其实这个题目思考起来和实现起来并不难 ,但是为了码一下发现的dalao的博客,还是写一下题解dalao博客:夜深人静写算法(四) - 差分约束真的写的非常好啊!可以说是帮我又把最短路和建图的知识复习了一遍,吹爆dalao,简单的逛了一下,他其他的文章包括dp、线段树、树状数组等等都写的非常认真非常仔细,还附题集,每一题还点出了重点是什么,可以说是非常良心了!决定了,以后就跟着这个d...

2019-03-31 16:42:13 283

原创 【解题报告】 POJ - 1860 Currency Exchange (spfa最短路)

原题地址推荐博客SPFA(Bellman-ford算法的队列优化)算法的实现及功能总结如下:实现:用一个dis数组来存每一个节点到源点的距离,开始时,将除源点外所有其他点的dis置为无穷大,源点的dis置为0,接着,将源点插入队列中。然后每次从队列中取一个节点u出来,遍历与它存在边的节点v,若dis[v] > dis[u] + w[u][v] (其中w[u][v]为u,v两条边的...

2019-03-25 17:51:04 201

原创 【解题报告】HDU 3038 How Many Answers Are Wrong (带权并查集)

原题链接参考dalao的解法真开心!今天又学到(TLE)了新知识(N多发)呢!题意有n个数组成的序列,然后有m条信息,每次信息有3个数据a,b,c,告诉你a到b的数之和为c,要求你求得这些信息里有多少个信息是逻辑错误的。思路这个题目看上去像是线段树或树状数组之类的,但实际上这类让你从很多句信息中找矛盾的题目都和并查集脱不了干系,但是这中并查集还从来没见过呢T。T,于是只好百度补知识了。...

2019-03-21 21:00:09 218

原创 【解题报告】 FZU 2150 Fire Game(bfs、多点搜索)

原题地址题意有一张n×m的地图,地图上 ‘#’ 表示草地,’.’ 表示空地,一哥们可以选择至多两个草地点燃(非法操作,请小伙伴们不要模仿),火势会蔓延到这个草地的四周的草地,且需要一个单位的时间,问能否把这个地图上的草地都点燃,如果可以输出需要的最小时间,如果不行输出-1。思路枚举两个草地进行bfs(两个一样的就说明实际上选的是一个),然后记录其余草地被点燃的最小时间,bfs结束之后遍历整...

2019-03-20 19:47:30 291

原创 【解题报告】POJ 3414 Pots(bfs/保存操作)

原题链接参考博客:POJ - 3414 Pots (倒水问题 BFS + 打印路径)---- stormjing7感谢dalao的点拨题意有两个杯子,容量分别为a,b,可以对这两个杯子进行以下的操作:FILL(i) 装满第i个杯子DROP(i) 把第i个杯子倒空POUR(i, j) 把第i个杯子中的水倒入第j个杯子中,直到第i个杯子倒完或第j个杯子倒满问是否有有限个操作使得...

2019-03-19 20:22:31 266 1

原创 【解题报告】POJ - 3279 Fliptile (状态压缩、枚举)

原题地址题意这是一道非常好的题目,可以说是为棋盘问题提供了一个很好的思路,也是状态压缩+枚举的一道入门的好题。题意大致是说有一张m×n大小的只有0和1的棋盘,每一次可以在棋盘中选一个点,将该点和与该点相邻的点与1异或(如果是0就变成1,如果是1就变成0)问是否有解能时棋盘上的点全部变成0,如果有解,需要输出最少操作的解,如果最少操作的解有多个,那么要输出将棋盘视作字符串之后字典序最新小的解。...

2019-03-16 16:47:42 328

原创 【解题报告】 POJ - 2253 Frogger(最短路/一些要注意的细节)

原题地址题意输入一个n,之后会有n个点的坐标,第一个点的坐标为青蛙的起点,第二个点的坐标为青蛙想要去的终点,路程中他可以在任意两个石头之间跳,他从起点到终点进行的跳跃中需要跳的最长的距离称为青蛙距离,要求这个青蛙距离的最小值。思路我们要先预处理把任意两个点之间的距离算出来,开一个数组d表示由起点到该点的青蛙距离。然后对起点做dijkstra,使用优先级队列优化(排序的键是d),先把起点压入...

2019-03-14 20:56:55 178

原创 【解题报告】POJ - 2251 Dungeon Master(入门bfs、多维搜索)

原题地址题意给一个k×n×m的迷宫,和起点以及终点,迷宫中有一部分位置被石头占领了无法通过,每次只能向东南西北或者上层下层移动,要求从起点能否走到终点,如果能走到,输出所用的最小步数。思路每次搜索的方向可以放在常数数组里,因为有三维,所以需要开三个常数数组,每个数组的下标为i的元素就代表了一次行动的方向,然后用bfs搜索,如果搜到了终点就输出答案(因为bfs可以保证第一次搜到某一个点的路径...

2019-03-13 21:04:39 191

原创 【解题报告】luogu P1736 创意吃鱼法(多维dp)

原题链接题意给一个n×m的仅有0或者1组成的矩形矩阵,要求一正方形子矩阵,保证该矩阵有一条对角线上的元素全为1,其余元素全为0,求满足条件的子矩阵中对角线长度最大的子矩阵的对角线长度为多少思路该题目和另外一个dp题目很类似:P1387 最大正方形我们要求最大的子矩阵,采取的是递推的思想,设f[i][j]表示以i为横坐标,j为纵坐标的点为右下角的满足条件的子矩阵的对角线长度,那么很容易得...

2019-03-12 19:45:23 163

原创 【解题报告】Codeforces Round #545 (Div. 1) B. Camp Schedule

原题地址父节点知识——KMP匹配算法推荐几篇超级良心的博客:KMP算法最浅显理解——一看就明白详解KMP算法这KMP可能是我现在所遇到的麻烦最大的算法了,由于对字符串的匹配以及遍历时来回地移动指针非常不敏感,导致学起KMP等等字符串算法非常费劲,看了这么多资料也不敢说完全理解了这个算法,所以暂且先记下来,日后再慢慢消化。void kmp()//get pre[N],just like ...

2019-03-11 23:00:15 174

原创 【解题报告】luogu P1525 关押罪犯(并查集/种类并查集)

原题地址题意给n个节点,m条无向的边,要求把这n个节点分配到两个集合当中,保证两个集合中存在同一集合的两点存在的边的权值的最大值最小,如果可以把节点分配到两个集合中保证每个集合中任意两点间均不存在边,则输出0。思路开一个两倍节点数大小的数组作为并查集,第一倍保存同一集合中的节点的祖先,第二倍保存不同集合中的点的祖先,将所给边从大到小排序,再从大到小遍历每一条边,如果边的两个节点第一倍的祖先...

2019-03-11 16:52:35 201

原创 【解题报告】luogu P2024食物链(多维并查集/种类并查集)

原题地址题意有三种从属关系,给n个个体每个个体分别属于一个关系,k次命令,每次输入一个命令指令,两个关系个体,问根据前面的命令和已知条件可以推出多少个命令是矛盾的。思路开一个三倍的并查集,第一倍表示与自身同种的个体的祖先,第二倍表示属关系的个体的祖先,第三倍表示从关系的个体的祖先。每次收到1命令判断自身的祖先是否与从系祖先相同或与属系祖先相同,若是答案+1,否则并上两个个体的祖先,两个个...

2019-03-10 18:51:35 152

原创 深入浅出“约瑟夫环问题”

深入浅出“约瑟夫环问题”借鉴的博客:约瑟夫环——公式法(递推公式)约瑟夫环(数学高效率解法,很详细)约瑟夫环问题(Josephus problem)是一道经典的算法、数学问题,原问题是这样的:据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式...

2018-10-26 07:58:52 775

空空如也

空空如也

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

TA关注的人

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