C++算法训练
Explorerli
学生
展开
-
莫队算法总结
莫队算法例题Given a sequence of n numbers a1, a2, …, an and a number of d-queries. A d-query is a pair (i, j) (1 ≤ i ≤ j ≤ n). For each d-query (i, j), you have to return the number of distinct elements in the subsequence ai, ai+1, …, aj.输入Line 1: n (1 ≤ n ≤原创 2020-08-16 08:48:43 · 229 阅读 · 0 评论 -
简单搜索——偶遇的一道迷宫问题题目
题目一个 H 行 M 列的迷宫 S,迷宫中 ‘#’ 代表墙壁, ‘.’ 代表可走位置。每一步移动在一个可走放歌里,可以水平或者垂直移动到相邻的一个可走放个中。墙壁方格不能走,也不能对角线移动。你可以选择任意一个起点方格和终点方格(这两个方格必须为可走方格,且可以相互到达)。从选择的七点方格用最小的步数移动到终点方格。本题需要你最优的选择起点方格和终点方格,使你的最小移动步数尽可能大,你需要计算这个步数的最大值。输入第一行为两个整数 H,M(1<=H,M<=60)接下来 H 行,每行原创 2020-08-15 11:23:06 · 320 阅读 · 0 评论 -
简单搜索——Dungeon Master
题目You are trapped in a 3D dungeon and need to find the quickest way out! The dungeon is composed of unit cubes which may or may not be filled with rock. It takes one minute to move one unit north, south, east, west, up or down. You cannot move diagonally原创 2020-08-12 10:09:51 · 298 阅读 · 0 评论 -
简单搜索——棋盘问题
题目在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。输入输入含有多组测试数据。每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。 n <= 8 , k <= n当为-1 -1时表示输入结束。随后的n行描述了棋盘的形状:每行有n个字符,其中 # 表示棋盘区域, . 表示空白区原创 2020-08-09 12:30:38 · 982 阅读 · 0 评论 -
数位DP总结
强烈推荐:数位dp总结 之 从入门到模板对模板的理解:/* 以题目“不要62”为例,其中输入区间右端点为 210。 那么处理该端点时,百位可取 0、1、2。 称取值方式以系列形式呈现,以下将取值可能分为 3 个系列, 其中系列 1、2 我称之为普通系列,系列 3 我称之为受限系列。 系列 1:百位为 0 时,十位可取 0-9,个位可取 0-9。 系列 2:百位为 1 时,十位可取 0-9,个位可取 0-9。 系列 3:百位为 2 时,十位仅可取原创 2020-08-06 15:23:59 · 120 阅读 · 0 评论 -
数位DP——不要62
题目杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:62315 73418 88914都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。输入输入的原创 2020-08-06 14:17:39 · 222 阅读 · 0 评论 -
矩阵快速幂总结
快速幂算法强烈推荐:快速幂算法(全网最详细地带你从零开始一步一步优化)矩阵快速幂的优化算法为:long long fastPower(long long base, long long power) { long long result = 1; while (power > 0) { if (power & 1) {//此处等价于if(power%2==1) result = result * base % 1000;原创 2020-08-06 08:49:21 · 177 阅读 · 0 评论 -
矩阵快速幂——Jzzhu and Sequences
题目Jzzhu has invented a kind of sequences, they meet the following property:You are given x and y, please calculate f n modulo 1000000007 (109 + 7).输入The first line contains two integers x and y (|x|, |y| ≤ 109). The second line contains a single integ原创 2020-08-05 15:52:02 · 185 阅读 · 0 评论 -
简单搜索(广度优先搜索、深度优先搜索)总结
广度优先搜索概述广度优先搜索(宽度优先搜索,BFS)是树或图的一种遍历策略。其思想是从一个顶点V0开始,遍历每一个点时,依次遍历其所有的邻接点,然后再从这些邻接点出发,同样依次访问它们的邻接点。按照此过程,直到图中所有点都被访问到。应用经典问题:迷宫问题。解题思路广度优先搜索在解题中,先将题目进行解释,理清问题中树的层次,先对第一层结点进行检查,检查目标是否存在;不存在则将第一层所有结点逐一进行扩展至邻接点,得到第二层结点,再次检查目标是否存在;不存在则继续扩展,直到找到目标。注:可选用队列方原创 2020-07-10 22:52:35 · 615 阅读 · 0 评论