08 2022 档案
摘要:应用场景 假设有这样的问题:有n个数,m次操作,操作分为:修改某一个数或者查询一段区间的值 分析下,如果针对数组元素的修改可以是O(1)完成,求某个区间值需要O(n)才可以完成,如果m和n都很大的情况,这个复杂度就很难接受了。 我们之前学过的前缀和算法可以解决区间求和的问题,并且时间复杂度是O(1)
阅读全文
摘要:问题 A: 【一本通提高篇KMP】剪花布条 [题目描述] 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? 输入 输入中含有一些数据,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可
阅读全文
摘要:简介 KMP 算法是 D.E.Knuth、J,H,Morris 和 V.R.Pratt 三位神人共同提出的,称之为 Knuth-Morria-Pratt 算法,简称 KMP 算法。该算法相对于 Brute-Force(暴力)算法有比较大的改进,主要是消除了主串指针的回溯,从而使算法效率有了某种程度的
阅读全文
摘要:哈希表是个啥? 小白:庆哥,什么是哈希表?这个哈希好熟悉,记得好像有HashMap和HashTable之类的吧,这是一样的嘛?😊 庆哥: 这个哈希确实经常见😂,足以说明它是个使用非常频繁的玩意儿,而且像你说的HashMap和HashTable之类的与哈希这个词肯定是有关系的,那哈希是个啥玩意啊,
阅读全文
摘要:1.前言 广度优先搜索https://so.csdn.net/so/search?q=%E5%B9%BF%E5%BA%A6%E4%BC%98%E5%85%88%E6%90%9C%E7%B4%A2&spm=1001.2101.3001.7020(也称宽度优先搜索,缩写BFS,以下采用广度来描述)是连通
阅读全文
摘要:因为本文是从抓住那头牛开始的,如果想看之前的题解,请在我的博客中搜索广度优先搜索C++算法习题练习,或访问广度优先搜索C++算法习题练习_不怕困难的博客的博客-CSDN博客。 问题 G: 【一本通基础广度优先搜索】抓住那头牛 [题目描述] 农夫知道一头牛的位置,想要抓住它。农夫和牛都位于数轴上,农夫
阅读全文
摘要:问题 A: 可重复的全排列 [题目描述] 输入一个数n,输出1-n之间整数的可以重复的全排列。(n<=8) 输入 一个整数n 输出 多行。 样例输入 2 样例输出 1 1 1 2 2 1 2 2 #include<bits/stdc++.h> using namespace std; int n,
阅读全文
摘要:问题 B: 语法百题 生成全排列 [题目描述] 有1.....n人照相,按照他们排列位置的不同照相,问有多少种排列方法?一行一个排列,按字典序输出。 输入 一行 n,n<=11 输出 每行一个排列。 样例输入 3 样例输出 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 #i
阅读全文
摘要:问题 D: 【一本通基础递推】菲波那契数列(2) [题目描述] 菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。 给出一个正整数a,要求菲波那契数列中第a个数对1000取模的结果是多少。 输入 第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1
阅读全文
摘要:一、博客积分规则 博客积分是CSDN对用户努力的认可和奖励,也是衡量博客水平的重要标准。博客等级也将由博客积分唯一决定。积分规则具体如下: 每发布一篇原创或者翻译文章:可获得10分; 每发布一篇转载文章:可获得2分; 博主的文章每被评论一次:可获得1分; 每发表一次评论:可获得1分(自己给自己评论、
阅读全文
摘要:问题 H: 【一本通基础DP背包】NOIP2005 采药 [题目描述] 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要
阅读全文
摘要:一、问题定义 求解单元点的最短路径问题:给定带权有向图G和源点v,求v到G中其他顶点的最短路径 限制条件:图G中不存在负权值的边 二、思想 划重点,迪杰斯特拉最最朴素的思想就是按长度递增的次序产生最短路径。即每次对所有可见点的路径长度进行排序后,选择一条最短的路径,这条路径就是对应顶点到源点的最短路
阅读全文
摘要:问题 E: 【一本通基础排序】成绩排序 [题目描述] 给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前。 输入 第一行为n (0 < n < 20),表示班里的学生数目; 接下来的n行,每行为每个学生的名字和他的成绩, 中间用单个空格隔开。名字只包含字
阅读全文
摘要:问题 C: 【一本通基础排序】谁考了第k名 [题目描述] 在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学号和成绩,求考第k名学生的学号和成绩。 输入 第一行有两个整数,分别是学生的人数n(1≤n≤100),和求第k名学生的k(1≤k≤n)。 其后有n行数据,每行包括一个学号(整数)和一个
阅读全文
摘要:分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。 基本思想: 当我们求解某些问题时,由于这些问题要处理的数据相当多,或求解过程相当复杂,使得直接求解法在时间上相当长,或者根本无法直接求出。对于这类问题,我们
阅读全文