![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
洛谷题解
只会写臭虫
这个作者很懒,什么都没留下…
展开
-
洛谷P1092 虫食算(DFS+减枝)
首先,我们只考虑加法的虫食算。这里的加法是N进制加法,算式中三个数都有N位,允许有前导的0。其次,虫子把所有的数都啃光了,我们只知道哪些数字是相同的,我们将相同的数字用相同的字母表示,不同的数字用不同的字母表示。如果这个算式是N进制的,我们就取英文字母表午的前N个大写字母来表示这个算式中的0到N−1这N个不同的数字:但是这N个字母并不一定顺序地代表0到N−1N−1。输入数据保证N个字母分别至少出...原创 2019-05-26 23:14:43 · 338 阅读 · 0 评论 -
洛谷P1363 幻象迷宫(DFS)
输入样例#1:5 4##.###S##…##.###…#5 4##.###S##…#…#.#.##输出样例#1:YesNo大概就是说给出一个01迷宫类的地图,按照这个地图来扩展新地图,类似这样,然后问你是不是###可以走无限远。搜索结束的条件为重复到达地图的某个点且实际横纵坐标与上一次访问时的不同即可。注意也要判断在同一个小地图里,某个点是否被重复访问,不然会死循...原创 2019-06-27 13:58:56 · 289 阅读 · 0 评论 -
洛谷 P1736 创意吃鱼法(二维动态规划)
输入样例#1:4 60 1 0 1 0 00 0 1 0 1 01 1 0 0 0 10 1 1 0 1 0输出样例#1:3这题与LeetCode221. 最大正方形很相似,但是这道题在目标转移方程上dp[i][j]不是取dp[i-1][j-1]、dp[i-1][j]、dp[i][j-1]中的最小值+1。而是取dp[i-1][j-1]、s1[i-1][j]、s2[i][j-1]中的...原创 2019-06-27 14:47:33 · 183 阅读 · 0 评论 -
洛谷P1140 相似基因(动态规划)
思路:dp[i][j]为当长度为i和长度为j的串匹配成功时的基因相似度的最大值,注意,当基因相似度取得最大值时两个串的最后一位可能不是字母。以dp[1][1]为例子,可能会有三种匹配情况:①-A G-②A- -G③A G所以状态方程为:代码是抄添加链接描述这个的。#include<io...原创 2019-06-11 23:34:46 · 368 阅读 · 0 评论 -
P1908逆序对(归并排序模板题)
题目描述猫猫TOM和小老鼠JERRY最近又较量上了,但是毕竟都是成年人,他们已经不喜欢再玩那种你追我赶的游戏,现在他们喜欢玩统计。最近,TOM老猫查阅到一个人类称之为“逆序对”的东西,这东西是这样定义的:对于给定的一段正整数序列,逆序对就是序列中ai>aj且i<j的有序对。知道这概念后,他们就比赛谁先算出给定的一段正整数序列中逆序对的数目。输入格式:第一行,一个数n,表示序列中有...原创 2019-06-04 00:52:53 · 589 阅读 · 0 评论 -
P1880 [NOI1995]石子合并(区间dp)
题目描述在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分。试设计出1个算法,计算出将N堆石子合并成1堆的最小得分和最大得分.输入格式:数据的第1行试正整数N,1≤N≤100,表示有N堆石子.第2行有N个数,分别表示每堆石子的个数.输出格式:输出共2行,第1行为最小得分,第2行为最大得分.输...原创 2019-06-08 18:16:28 · 201 阅读 · 0 评论 -
洛谷P1040 加分二叉树(区间DP例子)
转自:洛谷P1040题解首先,我们要做的就是设计状态,其实就是设计dp数组的含义,它要满足无后效性。关注这个 左子树*右子树+根 我只要知道左子树分数和右子树分数和根的分数(已给出),不就可以了吗?管他子树长什么样!所以,我们fff数组存的就是最大分数,怎么存呢?我们发现:子树是一个或多个节点的集合。那么我们可不可以开一个f[i][j]来表示节点i到节点j成树的最大加分呢?可以先保留这个...转载 2019-05-20 15:43:25 · 229 阅读 · 0 评论 -
洛谷P1020 导弹拦截(求最长上升子序列和最长非上升子序列---二分查找)
题目描述某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是≤50000的正整数),计算这套系统最多能拦截多少导弹,如果要拦截所有导弹最...原创 2019-06-08 16:40:23 · 245 阅读 · 0 评论 -
洛谷P1182 数列分段`Section II`(二分查找)
题目连接:洛谷P1182 题意就是说将一个长度为N的连续序列换分为M个连续的子序列。使得每个序列之和的最大值最小。解法:看了很多篇题解,解法就是利用二分法,这道题要注意上下界,下界应该是所有数的最大值(即所有区间只有一个元素的时候),上界应该是所有数之和(即整个序列为一个区间)。最开始把下界理解为所有数的最小值,然后WA了一个点。这种类型的模板题可以这么来看:因为目的是要让所有区间的最大值...原创 2019-06-05 15:16:12 · 262 阅读 · 0 评论 -
洛谷P1434 [SHOI2002]滑雪(dfs+记忆化搜索)
题目描述Michael喜欢滑雪。这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道在一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子:1 2 3 4 516 17 18 19 615 24 25 20 714 2...原创 2019-05-28 16:35:41 · 173 阅读 · 0 评论 -
洛谷P1126 机器人搬重物(多状态BFS)
输入输出样例输入样例#1:9 100 0 0 0 0 0 1 0 0 00 0 0 0 0 0 0 0 1 00 0 0 1 0 0 0 0 0 00 0 1 0 0 0 0 0 0 00 0 0 0 0 0 1 0 0 00 0 0 0 0 1 0 0 0 00 0 0 1 1 0 0 0 0 00 0 0 0 0 0 0 0 0 01 0 0 0 0 0 0 0 1 0...原创 2019-05-23 23:37:44 · 226 阅读 · 0 评论 -
洛谷P1141 迷宫题解(典型的BFS)
题目描述有一个仅由数字0与1组成的n×n格迷宫。若你位于一格0上,那么你可以移动到相邻4格中的某一格1上,同样若你位于一格1上,那么你可以移动到相邻4格中的某一格0上。你的任务是:对于给定的迷宫,询问从某一格开始能移动到多少个格子(包含自身)。输入输出格式输入格式:第1行为两个正整数n,m。下面n行,每行n个字符,字符只可能是0或者1,字符之间没有空格。接下来m行,每行2个用空格分隔...原创 2019-05-23 22:31:36 · 884 阅读 · 0 评论 -
洛谷P3371,Dijkstra算法模板(优先队列优化)
无优先队列优化且用邻接矩阵存储图,这题如用邻接矩阵存储图会爆内存。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int inf = 0x3f3f3f3f;const int p = 10005...原创 2019-07-06 15:49:24 · 300 阅读 · 0 评论