自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

帅比王的博客

博主很菜但很帅

  • 博客(16)
  • 资源 (4)
  • 收藏
  • 关注

原创 可持久化线段树(主席树)

摘要主席树,又称可持久化线段树,属于可持久化数据结构。“主席”这一名词是由于发明者缩写为HJT,和某位主席拼音缩写相同(有些牵强),故将该数据结构称为主席树。主席树既保留了线段树的灵活,也拥有了可持久化数据结构的特点,在处理某些特定问题时有着其它数据结构不具有的优势。本文将首先介绍什么是“可持久化数据结构”,随后介绍主席树的思想,关于代码实现将结合例题讲解。可持久化数据结构可持久数据结构...

2019-08-29 20:23:12 3400

原创 2019-CCPC网络赛部分题解

1001 &题意简述:给定正整数a和b,找到一个最小的正整数c,使得(ac)&(bc)最小。解题思路:两个数按位与最小结果肯定是0啊,所以对于a和b,如果它们对应二进制位上有0,则c置为0即可,因为0^0 = 0 , 这就保证了异或之后肯定有一个是0,再&之后还是0;若它们对应二进制位都是1,则只能置c的对应二进制位为1了,因为1^1 = 0。值得注意的是,所求结...

2019-08-25 20:19:58 1976 2

原创 强连通分量

摘要强连通分量常用于缩点,是图论中一个重要的知识点。本文首先介绍了强连通分量的相关定义以及其应用范围,然后将着重介绍两种求强连通分量的算法:Kosaraju算法以及Tarjan算法,它们的时间复杂度都是O(n+m)(n:顶点数,m:边数)。其中Kosaraju算法思想简单,操作方便,易于理解与代码实现,但是性能以及拓展性上比Tarjan略逊一筹;本文将会逐一介绍这两种算法的思想以及实现步骤,最...

2019-08-24 15:55:17 8225

原创 降雷皇(最长上升子序列数量)解题报告

测试地址题意简述哈蒙有n条导线排成一排,每条导线有一个电阻值,神奇的电光只能从一根导线传到电阻比它大的上面,而且必须从左边向右传导,当然导线不必是连续的。哈蒙想知道电光最多能通过多少条导线,还想知道这样的方案有多少。解题思路第一问就是简单的LIS问题,即询问最长上升子序列的长度。第二问是询问最长上升子序列的数量,如果用暴力做法,只需要多开一个数组记录数量即可,时间复杂度O(N^2);实际...

2019-08-24 15:54:40 412

原创 HDU6681 Rikka with Cake

测试地址题意简述直接看样例其实就明白了,看图说话,就是给出一个左下角坐标为(0,0),右上角为(n,m)的矩形;然后有k条线段,这些线段不重叠,都是从矩形内某一点出发到矩形某一边为止,这些线段共四种,都与坐标轴平行。请问这些线段将矩形分为了几个不连通的面?(图一是3个,图二是5个)解题思路首先考虑到任意两条直线的x,y坐标都是不同的,所以不会出现重叠现象。观察得,肯定是相交的线段才能分...

2019-08-20 21:17:15 217

原创 差分约束系统

算法简介差分约束系统是一种特殊的N元一次不等式组,它包含N个变量X1−XNX_1 - X_NX1​−XN​以及M个约束条件,每个约束条件都是由两个变量作差构成的,形如Xi−Xj&lt;=CkX_i - X_j &lt;= C_kXi​−Xj​<=Ck​,其中CkC_kCk​是常数(可以为负),1<= i , j <= N, 1 <= k <= M。我...

2019-08-14 17:36:30 144

原创 二维st表

摘要我们知道一维的st表在经过预处理后可以在O(1)时间内查询任意区间的极值,虽然其是离线算法,但胜在代码短小易写。而在二维RMQ(区间最值查询)问题中,我们依然可以采用st算法解决问题,只不过我们需要从一维拓展到二维,当然适用范围依然是离线。二维st表仍然是用倍增思想,如果理解了一维的st表,那么对于二维的也不难理解。问题描述给定一个n* n的矩阵以及一个整数b和k,共有k次询问,每次询问...

2019-08-04 16:39:28 3309

原创 倍增求LCA

LCA:即求一棵有根树中两个节点的最近公共祖先。树上倍增法树上倍增法是一个很重要的算法。除了求LCA外,在很多问题中都有广泛应用。设F[x,k]表示x的2k倍祖先,即从x向根节点走2k步到达的节点。特别的,若该节点不存在,则令F[x,k] = 0。F[x,0]就是x的父节点,除此之外,对于任意的1 <= k <= log n,F[x,k] = F[F[x,k-1],k-1]。这就...

2019-08-04 16:37:56 169

原创 1006 Fansblog解题报告

1006 Fansblog题意简述:给定一个大素数P,请找出它的前一个素数Q,并求出Q! mod P的值,其中1e9 <P,Q< 1e14。解题思路:首先我们需要快速的找出素数Q,当然这么大的范围线性筛是肯定解决不了的,O(N)O(\sqrt{N})O(N​) 也是解决不了的,因此我们得采用Miller-Rabin素性测试 算法。该算法是O(klog3Q)O(klog^3Q)...

2019-08-04 16:37:36 143

原创 高度数组与最长公共前缀

摘要本文是关于后缀数组的一个拓展,问题模型来自于最长公共前缀(Longest Common Prefix Array)问题,我们为解决该模型,在后缀数组的基础上设计了一个精巧的数组——高度数组,同时由于该数组在处理各类字符串相关问题时有着较好的用途,因此值得掌握。本文将直接从高度数组讲起,假设读者具有后缀数组的基础知识。首先本文会介绍高度数组的定义以及用途,接着讲解如何在O(N)时间内求出高度...

2019-08-04 16:36:50 286

原创 后缀数组的计算

什么是后缀数组字符串后缀(Suffix)指的是从字符串的某个位置开始到其末尾的字符串子串。我们认为原串和空串也是后缀。反之,从字符串开头到某个位置的字符串子串则称为前缀。后缀数组(Suffix Array)指的是将某个字符串的所有后缀按字典序排序后得到的数组。不过数组中并不需要直接保存所有的后缀字符串,只要记录对应的起始位置就好了。后缀数组的计算假设我们要计算长度为n的字符串S的后缀数组。...

2019-08-04 16:36:04 462

原创 2019矿大icpc夏令营day1-贪心算法

贪心算法编程实验总结今天的贪心算法,主要介绍了三类经典的贪心问题:背包问题任务调度问题区间调度问题在解决上述三种类型的问题时,首要解决的是如何选取局部最优解,即如何才能使得局部最优解推出全局最优解。类似于动态规划中的阶段划分、状态选取以及最重要的设计状态转移方程,贪心算法中也要划分阶段以及设计合理的贪心策略 。背包问题ZOJ2109 FatMouse’ Trade解题思路:...

2019-08-04 16:35:30 302

原创 2019矿大icpc夏令营Day2-动态规划

动态规划方法的编程实验本次课程主要介绍了动态规划中的阶段、状态、决策、决策的指导思想。动态规划中需要重点理解的知识点有:阶段与状态、决策与允许决策的集合、状态转移和最优化概念。在此基础上,动态规划的一些经典模型也是需要掌握的,今天练习了如下模型:子集和问题最长公共子序列问题背包问题在实际问题中,状态与阶段往往是不同的,需要具体问题具体分析;同样的,同一个问题模型也可以有几种不同的阶...

2019-08-04 16:34:42 183

原创 2019矿大icpc夏令营Day3-数论

数论的编程实验之前曾好几次学过数论,但是其中各种证明方法以及理论仍然是转眼间就忘。借着这次机会,要把模板以及常用的定理以及推论给掌握。今天讲的高斯素数、梅森素数都是第一次听说,回头要重新写一篇笔记详细学习一下。还有将正整数快速分解成质因数的Pollard_rho算法还没有掌握,也要写一篇笔记学习并整理。求解不定方程和同余方程计算最大公约数和不定方程计算同余方程和同余方程组计算多项式同余...

2019-08-04 16:34:07 319

原创 2019矿大icpc夏令营Day4-求解Ad Hoc类问题

求解AD Hoc类问题的编程实验(拉丁语)Ad Hoc:为某种目的而特别设计的。在程序设计竞赛的试题中,有这样一类试题,解题不能套用现成的算法,也没有模式化的求解方法,而是需要编程者自己设计算法来解答试题,这类试题被称作Ad Hoc类试题,也被称为杂题。实现的程序一般比较简短。求解Ad Hoc类问题的两类方法:机理分析法:采用顺向思维,从分析机理内部出发顺推算法。统计分析法:采用逆向思...

2019-08-04 16:33:32 281

原创 POJ1042 Gone Fishing & POJ3069 Saruman's Army题解

POJ 1042 Gone Fishing题意简述:给定鱼塘个数、钓鱼时间,以及每个鱼塘内单位时间内能钓到的鱼的数量和时间的关系,以及从一个池塘到另一个池塘的花费时间。请给出一个最优策略,使得能钓到最多的鱼,且尽量在靠前的鱼塘花费更多的时间。(更多细节请看原题面)解题思路:本题采用贪心策略。如果我们在前k个池塘钓鱼,那么由于路上花费时间确定,那么就相当于剩下的时间我们就可以自由分配在前k个...

2019-08-04 16:33:03 273

哈夫曼编码译码器-数据结构实训

1.本设计要求写一个哈夫曼编码/译码系统。 要求: 1.初始化(Initialization)。从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树,并将它存于文件hfmTree中。 2.编码(Encoding)。利用已建好的哈夫曼树(如不在内存,则从文件htmTree中读入),对文件ToBeTran中的正文进行编码,然后将结果存入文件CodeFile中。 3.译码(Decoding)。利用已建好的哈夫曼树将文件CodeFile中的代码进行译码,结果存入文件TextFile中。 4.打印代码文件(Print)。将文件CodeFile以紧凑格式显示在终端上,每行50个代码。同时将此字符形式的编码写入文件CodePrint中。 5.打印哈夫曼树(Tree Printing)。将已在内存中的哈夫曼树以直观的方式(树或凹入表形式)显示在终端上,同时将此字符形式的哈夫曼树写入文件TreePrint中。 资源包括: 论文(分析、代码说明、逻辑结构) 代码 测试文件

2019-01-13

算法导论 PDF

算法导论PDF高清第三版, 1、新增了van Emde Boas树和多线程算法,并且将矩阵基础移至附录。 2、修订了递归式(现在称为“分治策略”)那一章的内容,更广泛地覆盖分治法。 3、移除两章很少讲授的内容:二项堆和排序网络。 4、修订了动态规划和贪心算法相关内容。 5、流网络相关材料现在基于边上的全部流。 6、由于关于矩阵基础和Strassen算法的材料移到了其他章,矩阵运算这一章的内容所占篇幅更小。 7、修改了对Knuth-Morris-Pratt字符串匹配算法的讨论。 8、新增100道练习和28道思考题,还更新并补充了参考文献。

2018-08-21

教职工信息管理系统-结课作业C++

学校教职工信息表 设计要求: 设计要求实现如下功能: (1)建立职工信息数据,包括职工号、姓名、性别、工资、出生时间、参加工作时间和年龄(必须计算得到)。 (2)根据职工信息表,建立只含有姓名和年龄的职工信息简表。 (3)使用继承的方法构造3个类,(即雇员类——虚基类,教师类和工人类——派生类)使用相应的对象放置10个(或以上)职工信息。 (4)编写同名display()成员函数,用来输出数组的内容。 (5)按不同类别输出职工信息,比如按系输出教师信息。 (6)要求对“<<”和“>>”运算符进行重载。考虑到输人职工编号时,也会因不小心引人空格,而且名字中也需要有空格,所以重载“>>’’运算符时,需要满足这个要求。 (7)抽取并计算职工的平均年龄。 (8)检索(查找)指定信息。(如按姓名检索、按年龄检索) (9)显示各年龄段分布的情况 (10)参考界面如下:  增加 (一位教师记录 、增加一位工人记录)  计算 (教师平均年龄、计算工人平均年龄)  删除 (一个教师、删除一个工人)  显示 (全部职工记录、按系输出教师信息)  检索 (按姓名检索所有信息 按按职工号检索所有信息)  结束程序运行

2018-06-05

破解学校机房红蜘蛛

可以通过此软件结束学校机房红蜘蛛软件的控制,避免被老师无聊的课打扰。也可以一键恢复回被控制的状态。让你在课堂上随心所欲。软件仅26.1kb

2018-04-19

空空如也

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

TA关注的人

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