自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ronaldo7_ZYB的博客

很好的博客

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

原创 【习题·搜索】ice(BFS+STL Set+STL Map)

Problem题目描述Bessie 在一个冰封的湖面上游泳,湖面可以表示为二维的平面,坐标范围是-1,000,000,000…1,000,000,000。湖面上的N(1 <= N <= 20,000)个位置有石块(编号分别为1到N),其它位置是冰面。由于Bessie滑冰技术不够好,她通过推动自己旁边的石块,依靠反作用力向某一个方向前进,在碰到一个新的石块之前,Bessie是不会...

2019-03-30 16:20:22 246

原创 【习题·搜索】[SCOI2005]骑士精神(IDA*)

题目描述在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位。在任何时候一个骑士都能按照骑 士的走法(它可以走到和它横坐标相差为1,纵坐标相差为2或者横坐标相差为2,纵坐标相差为1的格子)移动到空 位上。 给定一个初始的棋盘,怎样才能经过移动变成如下,目标棋盘: 为了体现出骑士精神,他们必须以最少的步 数完成任务。Solution这题在每一次的跳跃中,必然与空格有关,所...

2019-03-30 16:03:34 212

原创 【习题·搜索】送礼物(双向DFS)

题目描述作为惩罚,GY被遣送去帮助某神牛给女生送礼物(GY:貌似是个好差事)但是在GY看到礼物之后,他就不这么认为了。某神牛有N个礼物,且异常沉重,但是GY的力气也异常的大(-_-b),他一次可以搬动重量和在w(w<=2^31-1)以下的任意多个物品。GY希望一次搬掉尽量重的一些物品,请你告诉他在他的力气范围内一次性能搬动的最大重量是多少。题目大意体积很大,个数很少的01背包。做法...

2019-03-27 12:14:54 432

原创 【例题·搜索】Addition Chains(迭代加深搜索)

来源:POJ2248题目大意规定第一个数为1,第二个数是2,你需要找到长度为m的序列使得这一个序列中每一个数都有前面的两个相同或不同的数拼凑而成,输出这一个m最小的任意序列方案(SPJ)。做法首先需要说一下什么叫做迭代加深搜索。在某一颗搜索树上,如果答案在这一棵树的浅层那么我们如果在深度较大的子树上搜索就会浪费很多的时间,因此我们需要需要控制搜索的深度,不断的从浅层向深层进行扩展。具体...

2019-03-26 21:02:07 425

原创 【习题·搜索】[NOIP2009]靶型数独(搜索+剪枝+位运算优化)

题目小城和小华都是热爱数学的好学生,最近,他们不约而同地迷上了数独游戏,好胜的他们想用数独来一比高低。但普通的数独对他们来说都过于简单了,于是他们向 Z 博士请教,Z 博士拿出了他最近发明的“靶形数独”,作为这两个孩子比试的题目。靶形数独的方格同普通数独一样,在 99 格宽×99 格高的大九宫格中有9 9 个 33 格宽×33 格高的小九宫格(用粗黑色线隔开的)。在这个大九宫格中,有一些数字是...

2019-03-26 13:33:23 257

原创 【算法·分治】平面最近点对

问题给定平面上n个点,找出其中的一对点的距离,使得在这n个点的所有点对中,该距离为所有点对中最小的做法将每一个点按照横坐标排序,然后分治区间[1,n][1,n][1,n].再内一个递归函数内:和归并排序的思想类似,可以递归左区间[l,mid][l,mid][l,mid]找到左边的平面最近点对,距离是d1d1d1,同理,可以递归找到右区间[r,mid][r,mid][r,mid]的平面最...

2019-03-26 13:09:39 571

原创 【习题·字符串】匹配统计(KMP计数)

题目描述阿轩在纸上写了两个字符串,分别记为A和B。利用在数据结构与算法课上学到的知识,他很容易地求出了“字符串A从任意位置开始的后缀子串”与“字符串B”匹配的长度。不过阿轩是一个勤学好问的同学,他向你提出了Q个问题:在每个问题中,他给定你一个整数x,请你告诉他有多少个位置,满足“字符串A从该位置开始的后缀子串”与B匹配的长度恰好为x。例如:A=aabcde,B=ab,则A有aabcde、ab...

2019-03-24 21:11:15 849 1

原创 【习题·字符串】Milking Grid(区间KMP)

题目描述每天早晨FARMER JOHN的奶牛都会在挤奶时排成矩形,R行(1<=R<=10,000),C列(1<=C<=75)。我们知道,FARMER JOHN是奶牛专家,他打算写一本关于喂养奶牛的书。他发现,当奶牛按照不同的血统标记以后,整个大矩形就像由很多相同的小矩形拼起来的一样。请帮助FJ找到面积最小的小矩形,使它能拼出整个大矩形。小矩形的尺寸不一定要整除大矩形的,...

2019-03-24 20:55:08 224

原创 【习题·哈希】Matrix(二维奇葩Hash)

题目描述给定一个M行N列的01矩阵,以及Q个A行B列的01矩阵,你需要求出这Q个矩阵哪些在原矩阵中出现过。所谓01矩阵,就是矩阵中所有元素不是0就是1。题解这道题是一个奇葩的二维哈希,做法也非常的玄学,用到了字符串哈希的思想还利用了大质数取模的方法。具体的实现是这样的:把每一行都看成某一个进制的数,一般使用131进制数,则可以f[i]=1...if[i]=1...if[i]=1...i...

2019-03-24 20:46:45 450 2

原创 【习题·数据结构】[NOI2015]荷马史诗(多叉哈夫曼树)

Problem追逐影子的人,自己就是影子。 ——荷马Allison 最近迷上了文学。她喜欢在一个慵懒的午后,细细地品上一杯卡布奇诺,静静地阅读她爱不释手的《荷马史诗》。但是由《奥德赛》和《伊利亚特》组成的鸿篇巨制《荷马史诗》实在是太长了,Allison 想通过一种编码方式使得它变得短一些。一部《荷马史诗》中有 nn 种不同的单词,从 11 到 nn 进行编号。其中第 ii 种单词出现的总次数...

2019-03-21 20:54:55 338

原创 【算法·数据结构】trie树(字典树)

有关trie树的概念在进行文法分析的时候,通常需要检测一个单词是否在我们的单词列表里。为了提高查找和定位的速度,通常都要画出与单词列表所对应的单词查找树,其特点如下:根节点不包含字母,除根节点外每一个节点都仅包含一个大写英文字母;从根节点到某一节点,路径上经过的字母依次连起来所构成的字母序列,称为该节点对应的单词。单词列表中的每个词,都是该单词查找树某个节点所对应的单词;在满足上述条件下,...

2019-03-21 20:17:38 617

原创 【算法·字符串】字符串的最小表示法(最小同构串)

习题:necklaceDescription有一天,袁同学抨了一条价值连城宝石项链,是,一个严車的间题是,他竟然忘记了项链的主人是谁!在得知此堊后,很多人向同学发来了很多邮件,都说项链是自己的,要求他归还:显然其中最多只有一个人说了真话袁同学要求每个人都写了一段关于自己项链的描述:项链上的宝石字囗至;来标示。一个对于项链的表示就是从项链的某个宝石开始,顺指针绕一圈,沿途记下经的宝石,比如如下...

2019-03-21 19:59:59 288

原创 【算法·倍增】忠诚(区间最值问题 ST表)

Problem题目描述老管家是一个聪明能干的人。他为财主工作了整整10年,财主为了让自已账目更加清楚。要求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满意。但是由于一些人的挑拨,财主还是对管家产生了怀疑。于是他决定用一种特别的方法来判断管家的忠诚,他把每次的账目按1,2,3…编号,然后不定时的问管家问题,问题是这样的:在a到b号账中最少的一笔是多少?为了让管家没时间作假他总...

2019-03-21 19:34:31 284

原创 【算法·哈希】哈希Hash判重算法入门

大整数判重对于一个大整数,如果你需要判重,即知道一个数字是否已经出现过,如果这一个数值很小的话,我们可以直接用数组进行桶排,暴力用数组下标标记,这样十分简单的就能够知道一个数字是否已经出现过了。但是如果一个数字的数值非常大,超出了数组所能够承受的空间大小,我们就需要使用Hash来进行解决。对于一个数值,对它进行一大大整数取模,这一个取模的值就是这一个数字的哈希值。即:Hash[x]=x&nb...

2019-03-21 19:18:16 2043

原创 【习题·字符串】有关KMP算法循环节问题的结论(period)

Ques1:period如果一个字符串S是由一个字符串T重复K次形成的,则称T是S的循环元。使K最大的字符串T称为S的最小循环元,此时的K称为最大循环次数。现给一个给定长度为N的字符串S,对S的每一个前缀S[1~i],如果它的最大循环次数大于1,则输出该前缀的最小循环元长度和最大循环次数。Solution1首先,我们可以利用KMP最每一个字符串进行自我匹配求解对应的next数组,而其含义就...

2019-03-21 18:10:19 296

原创 【字符串·习题】Obsessive String(KMP+DP)

题目描述给定两个字符串s和t,从s中选取几个互不相交的子串(可以有字符不选取),使得t是这些子串的子串,问从s中选取子串的方案数.Solution这道题是一道KMP与动态规划结合的题目,因为我们看到查找子串就十分自然的联想到了KMP模式匹配算法,但是又需要求解方案数,因此我们又需要用到DP。我们需要通过KMP来找到i之前的最近匹配起点,并且不需要匹配完。即某一个子串完成匹配后,这一个主串里...

2019-03-20 14:22:36 403

原创 【考题·动态规划】[USACO2018]Directory Traversal(二次扫描·树形DP)

题目描述奶牛Bessie令人惊讶地精通计算机。她在牛棚的电脑里用一组文件夹储存了她所有珍贵的文件,比如:bessie/folder1/file1folder2/file2folder3/file3file4只有一个“顶层”的文件夹,叫做bessie。Bessie可以浏览任何一个她想要访问的文件夹。从一个给定的文件夹,每一个文件都可以通过一个“相对路径”被引用。在一个相对路径中...

2019-03-19 21:06:30 399

原创 【习题·贪心】Color A Tree(贪心+数学证明)

题目描述有一棵树,需要给其所有节点染色,每个点染色所需的时间是一样的都是11.给每个点染色,还有一个开销“当前时间×ci×ci”,cici是每个节点的一个权值。(当前时间是染完这个节点的时间) 染色还有另一个约束条件,要染一个点必须要先染好其父节点,所以第一个染的点是根节点. 求最小开销。Solution可以说是非常难的一道题目了。对于为了使花费最小,如果当前能够选到所有点里那个最大的...

2019-03-17 15:06:39 404

原创 【习题·数据结构】子序列累加和(单调栈)

题目描述小x在学习数列。他想到一个数学问题:现在有N个数的数列。现在你定义一个子序列是数列的连续一部分,子序列的值是这个子序列中最大值和最小值之差。给你这N个数,小x想知道所有子序列的值得累加和是多少。Solution这道题虽然涉及区间最值,但是只需要查找所有区间最值之差即可,而并不用枚举每一个区间并查找区间内的每一个最值,这样的做法虽然可行但是复杂度不允许,我们可以考虑使用数据结构进行...

2019-03-17 14:45:26 1056

原创 【算法入门·字符串】对KMP算法的简单理解

有关KMP算法KMPKMPKMP算法通俗的说,就是一个字符串AAA,一个字符串BBB,AAA的长度小于BBB,可以求AAA是否是BBB的子串;若AAA是BBB的子串,甚至还可以求出AAA在BBB中在不同位置里的出现次数。若AAA的长度为NNN,BBB的长度为MMM,则双重循环暴力匹配的算法的时间复杂度是O(NM)O(NM)O(NM),这显然对于KMPKMPKMP的O(N+M)O(N+M)O(N...

2019-03-16 20:01:18 179

原创 Genius ACM(倍增+归并优化)

Problem【问题描述】Advanced CPU Manufacturer (ACM) is one of the best CPU manufacturers in the world. 每天, 该公司生产n台CPU并销售到世界各地。ACM公司的质检部门会对生产出的CPU进行成组测试,对一组(若干个)CPU进行测试的方法如下:随机从该组CPU中选取m 对(即2m 台),若总数不足2...

2019-03-14 18:13:05 1850

原创 [NOIP2016]蚯蚓(单调性证明)

Solution问题描述本题中,我们将用符号 ⌊c⌋⌊c⌋ 表示对 cc 向下取整,例如:⌊3.0⌋=⌊3.1⌋=⌊3.9⌋=3⌊3.0⌋=⌊3.1⌋=⌊3.9⌋=3。蛐蛐国最近蚯蚓成灾了!隔壁跳蚤国的跳蚤也拿蚯蚓们没办法,蛐蛐国王只好去请神刀手来帮他们消灭蚯蚓。蛐蛐国里现在共有 nn 只蚯蚓(nn 为正整数)。每只蚯蚓拥有长度,我们设第 ii 只蚯蚓的长度为 aiai (i=1,2,…,...

2019-03-13 21:10:18 302

原创 [NOIP2012]国王游戏(贪心证明·邻项交换)

ProblemDescription恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏。首先,他让每个大臣在左、右手上面分别写下一个整数,国王自己也在左、右手上各写一个整数。然后,让这 n 位大臣排成一排,国王站在队伍的最前面。排好队后,所有的大臣都会获得国王奖赏的若干金币,每位大臣获得的金币数分别是:排在该大臣前面的所有人的左手上的数的乘积除以他自己右手上的数,然后向下取整得到的结果。...

2019-03-13 20:36:40 641

原创 【算法·搜索】第k小整数:O(n)

利用快速排序的思想,每一次找到一个基准数并确定这一个基准数的位置,得到这个数的下标,再根据其下标大小来确定是向左区间找还是向右区间找;这里每一次都要讲小于基准数的搞到左边,大于基准数的搞到右边,那么就能在接近于O(n)的时间内得到答案。#include &lt;bits/stdc++.h&gt;using namespace std;int n,m,k;int a[1000000];in...

2019-03-11 16:09:01 286

原创 【算法·离散化】离散化的简单实现与运用

有关离散化有一些数值的绝对数值过大,但是数据个数相对较小,为了方便统计,且需要去重,我们引入了离散化这一概念。在离散化中,每一个绝对数值都对应的映射一个离散数值。例如有n=3时有三个数{107,108,109}\{10^7,10^8,10^9\}{107,108,109},这三个数的绝对数值较大,但是n较小,如果题目对绝对数值对答案没有意义只是起到了相对大小的比较或者统计的作用,我们可以吧这三...

2019-03-10 19:11:54 395

原创 【算法·分块】分块入门①-⑥

关于分块关于分块,其主要思想是大局维护,局部朴素;即吧一个序列分成若干个小块,对任意区间进行操作的时候:如果区间内包含完整块,就进行快速的整体修改;若所修改区间内的一部分是某个个块中的一部分,则直接进行暴力修改就行。具体内容,我们可以通过六道分块习题进行理解。分块入门1...

2019-03-10 17:57:42 275

原创 【图论·习题】Cow at Large G(LCA+STL set)

Problem题目描述最后,Bessie被迫去了一个远方的农场。这个农场包含N个谷仓(2 &lt;= N &lt;= 105)和N-1条连接两个谷仓的双向隧道,所以每两个谷仓之间都有唯一的路径。每个只与一条隧道相连的谷仓都是农场的出口。当早晨来临的时候,Bessie将在某个谷仓露面,然后试图到达一个出口。但当Bessie露面的时候,她的位置就会暴露。一些农民在那时将从不同的出口谷仓出发尝试抓...

2019-03-09 18:55:53 330

原创 【并查集·习题】mootube

Problem在业余时间,Farmer John创建了一个新的视频共享服务,他将其命名为MooTube。在MooTube上,Farmer John的奶牛可以录制,分享和发现许多有趣的视频。他的奶牛已经发布了 NN 个视频 ( 1 \leq N \leq 100,0001≤N≤100,000 ),为了方便将其编号为 1 \ldots N1…N 。然而,FJ无法弄清楚如何帮助他的奶牛找到他们可能喜欢...

2019-03-09 16:46:50 508

原创 【模拟·习题】[USACO18JAN]Lifeguards S

Problem题意翻译FJ为他的奶牛们建造了一个游泳池,FJ认为这将有助于他们放松身心以及生产更多牛奶。为了确保奶牛们的安全,FJ雇佣了N头牛,作为泳池的救生员,每一个救生员在一天内都会有一定的事情,并且这些事情都会覆盖一天内的一段时间。为了简单起见,泳池从时间t=0时开门,直到时间t=1000000000关门,所以每个事情都可以用两个整数来描述,给出奶牛救生员开始以及结束事情的时间。例如,...

2019-03-09 16:29:51 912

原创 【递归·数学·习题】 Fractal Streets:分形图问题

Problem题目描述城市的规划在城市建设中是个大问题。不幸的是,很多城市在开始建设的时候并没有很 好的规划,城市规模扩大之后规划不合理的问题就开始显现。而这座名为Fractal 的城市设 想了这样的一个规划方案,如下图所示:当城区规模扩大之后,Fractal 的解决方案是把和原来城区结构一样的区域按照图中的方 式建设在城市周围,提升城市的等级。对于任意等级的城市,我们把正方形街区从左上角...

2019-03-08 20:19:06 632

原创 【树状数组·模板】二维树状数组:打鼹鼠

Problem题目描述SuperBrother在机房里闲着没事干(再对比一下他的NOIP,真是讽刺啊…),于是便无聊地开始玩“打鼹鼠”…在这个“打鼹鼠”的游戏中,鼹鼠会不时地从洞中钻出来,不过不会从洞口钻进去(鼹鼠真胆大……)。洞口都在一个大小为n(n&lt;=1024)的正方形中。这个正方形在一个平面直角坐标系中,左下角为(0,0),右上角为(n-1,n-1)。洞口所在的位置都是整点,就是...

2019-03-08 19:41:50 333

原创 【数论·分治·习题】约数和

题目描述给定两个自然数A和B,S为A^B的所有正整数约数和,编程输出S mod 9901的结果SolutionA=a1b1∗a2b2∗...∗akbkA=a1^{b1}*a2^{b2}*...*ak^{bk}A=a1b1∗a2b2∗...∗akbk根据算数基本定理or唯一分解定理(我也不知道叫什么):约数和=(1+a1+a12+...+a1b1∗B)∗(1+a2+a22+...+a2b2...

2019-03-08 19:34:22 329 4

原创 【二分·习题】Best Cow Fence(实数域上的二分答案)

Problem题目描述农场主 John (简称 FJ) 的农场有一长排的 N (1 &amp;amp;lt;= N &amp;amp;lt;= 100,000)块地组成. 每块地有一定数量 (ncows) 的牛, 1 &amp;amp;lt;= ncows &amp;amp;lt;=2000.FJ 想修建环绕邻接的一组地块的栅栏, 以最大化这组地块中平均每块地中牛的个数.这组地块必须包含至少 F (1 &amp;amp;lt;= F &amp;amp;

2019-03-08 19:05:12 579

原创 【图论·习题】A Pie for a Pie(最短路+逆向思维)

ProblemBessie和Elsie各自烤了N&amp;amp;amp;MediumSpace;(1≤N≤105)N\:(1≤N≤10^5)N(1≤N≤105)个馅饼)。Bessie 会这2N2N2N个馅饼打分,Elsie 也会。二者的打分均为一个≤109\le 10^9≤109的非负整数。由于她们口味不同,每个派的两个分数可能不同。她们想互赠礼物。开始时,Bessie 送给 Elsie 一个馅饼。她们收到...

2019-03-08 18:44:48 637

原创 [无聊的]3月[OI学习记录]...水

3.2今天十分开心的过了分块的4-6,顺便一题2A。分块4是一个正常的分块算法问题。分块5是一个区间开方一开始只是以为是一个区间加,后来才发现是根据根号的性质暴力判。分块6的话十分开心的RE了,主要原因是vector在重复使用的时候没有清空。后来又Wa了呜呜,原来正序的枚举因为我脑抽硬是逆序了。顺便水了一道入门题哈哈哈。...

2019-03-02 21:10:26 458 3

空空如也

空空如也

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

TA关注的人

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