洛谷原创题解
ThisIsHelen
宠物疯狂爱好者,Bug疯狂憎恨者
展开
-
洛谷P1160 队列安排
洛谷P1160 队列安排//// main.cpp// 队列安排New//// Created by Helen on 2020/8/4.// Copyright © 2020 Helen. All rights reserved.//#include<iostream>using namespace std;int arr[100010][3];int n,m,k,p;int main(){ cin >> n; int j原创 2020-08-16 16:45:12 · 100 阅读 · 0 评论 -
洛谷P1827 美国血统
美国血统洛谷P1827Hi 最近我爱上二叉树了… 来 看看这个唉 题目真么绕 不就是给先序中序求后序嘛 如果你刚刚学二叉树 推荐看看这两道题哦~ 二叉树讲解+二叉树深度 后缀表达式好了 这道题不难 直接这样写吧//// main.cpp// 美国血统//// Created by Helen on 2020/8/13.// Copyright © 2020 Helen. All rights reserved.////感谢洛谷@Bartholomew提供思路#inc原创 2020-08-15 16:31:52 · 355 阅读 · 0 评论 -
洛谷P3884 二叉树问题
二叉树问题洛谷P3884Hi~ 今天这这么早就更新题解啦~ 今天继续来看一到二叉树的问题这道题主要分为三部分:求宽度 求深度 求距离求宽度和求深度其实可以合起来 所以就变成了两部分Part 1 – 宽度&深度void get_node_depth(int root,int d) // 传根结点&当前结点深度{ if (root==0) // 如果根结点=0 返回 return; dep[root]=d; // 一个数组记录这个结点的深原创 2020-08-13 15:16:08 · 391 阅读 · 0 评论 -
C++ 二叉树 二叉树深度 洛谷P4913
Honestly, I wanna see you be brave-- "Brave"原创 2020-08-11 20:35:03 · 320 阅读 · 0 评论 -
洛谷P2058 海港
海港洛谷P2058Hi guys~ 好久不见~ 今天来看看这道题~ (不要问我为什么写这个)思路:边输入边处理即可 一个数组记录当先这个国家有多少个人 最后就判断哪些船在24小时以外 减去相应的人数就好啦//// main.cpp// 海港//// Created by Helen on 2020/8/9.// Copyright © 2020 Helen. All rights reserved.//#include <iostream>using na原创 2020-08-10 11:11:54 · 303 阅读 · 0 评论 -
洛谷P1449 后缀表达式
后缀表达式洛谷P1449Hi~ 今天更新了两篇~ 嘿嘿~Anyways 回归正题输入:3.5.2.-*7.+@输出:16这道题的较难的地方就是输入 但是也不是太难????算了 懒得写了 注释在程序里~//// main.cpp// 后缀表达式//// Created by Helen on 2020/7/26.// Copyright © 2020 Helen. All rights reserved.//#include <iostream>#inc原创 2020-07-28 18:40:52 · 216 阅读 · 0 评论 -
洛谷P1540 机器翻译
机器翻译洛谷P1540Hi~ 今天我们来看一道比较简单的题#include <iostream>using namespace std;int n,m,a,l,r,ans;int arr[1005];bool b[1005];int main (){ cin >> m >> n; for (int i=1;i<=n;i++) { cin >> a; // 临时 if (b[a]原创 2020-07-27 11:57:10 · 160 阅读 · 0 评论 -
洛谷P1143 进制转换
进制转换洛谷P1143思路我们就用着最简单粗暴的方式 先由n进制转到十进制 然后再转m进制任何进制转十进制都是一样的就拿二进制转十进制举例:10101转十进制而任何进制转十进制都是用短除法 取余 最后倒过来就好啦上代码//// main.cpp// 进制转换//// Created by Helen on 2020/7/23.// Copyright © 2020 Helen. All rights reserved.//#include <iostream原创 2020-07-24 21:31:52 · 222 阅读 · 0 评论 -
洛谷P1226 快速幂
Hi guys~ 今天我又不知道写什么题了… 所以疯狂翻题单… 啊哈 就这个吧…//// main.cpp// 快速幂//// Created by Helen on 2020/4/6.// Copyright © 2020 Helen. All rights reserved.//#include <iostream>using namespace std;long long f(long long b,long long p,long long k){原创 2020-07-22 11:59:10 · 229 阅读 · 0 评论 -
栈讲解 洛谷P4387 【深基15.习9】验证栈序列
验证栈序列洛谷P4387Hello~ 今天我们来看一下栈!首先 栈是啥?简单来说 可以理解成一个桶 先进后出(LIFO) 像这样(图片源自网络)一些基本的function在这里:emptyTest whether container is empty (public member function )sizeReturn size (public member function )topAccess next element (public member function )pu原创 2020-07-21 20:37:41 · 491 阅读 · 0 评论 -
洛谷P1739 表达式括号匹配
表达式括号匹配洛谷P1739Hi~ 今天我们来看一下这道题简洁明了的题目 我喜欢~这道题可以用栈解决 但是也有更初级其他办法最直观的思路就是 一个变量记左括号 一个记右括号 加一些特殊判断 最后看左括号数量和右括号说量是否一样简洁一点的话 可以把左右记在一个变量里总结一下 就是一个变量a=0 遇到左括号++ 遇到右括号-- 如果判断到第一个是右括号直接cout 如果a已经小于零(右括号已经比左括号多了)也直接cout自己试一下吧//// main.cpp// 表达式括号匹配//原创 2020-07-20 18:47:16 · 221 阅读 · 0 评论 -
洛谷P1719 最大加权矩形为例题 讲解前缀和
最大加权矩形洛谷P1719Hi there! 今天我们继续来看另一道前缀和&差分的题上一道题可以说是用了一个更简单但是不适用于所有前缀和的题 这次我们来仔细讲一下前缀和先看题那么这道题怎么做呢?我们先来看看这个例子:给你一个二维数组 求红色部分数字之和其实就是蓝色部分减去绿色部分再加上黄色部分 因为重复减了所以这样的话我们只需1.在输入的时候用一个二维数组 a[ i ] [ j ] 记录从 i 到 j 的和for (int j=1;j<=n;j++)原创 2020-07-19 16:07:54 · 635 阅读 · 1 评论 -
洛谷P1115 最大子段和 前缀和
最大子段和洛谷P1115Hello~ 好久不见???? 时隔四个月我又回来了 唉 说来话长…Anyway, 看了看洛谷的题单 决定… 先从前缀和&差分开始写吧 所以…“最大子段和”这道题其实有一个很简单的想法用sum来记录最大子段和 如果前面数字相加起来已经 小于0了 就不如从新将sum置为0 因为如果sum已经小于0 后面再加什么数都只可能更小Understand? 自己试试吧 先别着急看代码????比你想象中的容易好吧 代码在这里#include <iostre原创 2020-07-17 16:31:58 · 394 阅读 · 0 评论 -
Lake Counting S
Lake Counting S洛谷P1596一道典型深搜题 把字符存成数字就变成了种子填充的题思路:设置变量和flag输入 将字符变成数字用深搜判断输出结果#include <iostream>using namespace std;int g[100][100];bool flag[100][100];int n,m,ans=0;char c=0;...原创 2020-03-02 18:56:17 · 234 阅读 · 0 评论 -
迷宫
迷宫洛谷P1605思路:设置变量标记障碍找路输出完美结束上代码//0=未查找 1=障碍物 2=路#include <iostream>using namespace std;int n,m,t,sx,sy,fx,fy,ans=0;int mg[6][6];int za [36];void dfs (int a,int b){ //cou...原创 2020-02-20 22:06:43 · 136 阅读 · 0 评论 -
跳马问题
跳马问题洛谷P1644//// main.cpp// 跳马//// Created by Helen on 2020/2/17.// Copyright © 2020 Helen. All rights reserved.//#include <iostream>using namespace stint n,m,ans=0;int jump[19...原创 2020-02-20 21:56:44 · 339 阅读 · 0 评论 -
城堡 The Castle
城堡 The Castle洛谷P1457唉 这道题不是特别难 就是要求输出太多 无奈之下写了90行算了 今天在代码上写注释吧#include <iostream>using namespace std;int n,m,cnt,area,marea=0,dir;int w[55][55],f[55][55]; // w记录墙 f就是flagint dx[4]={0...原创 2020-02-15 22:01:18 · 183 阅读 · 0 评论 -
黑色星期五 Friday The Thirteenth
黑色星期五洛谷P1202这是一道很奇怪的题 我做了一遍 不会 两天后 会了????好了 话不多说 讲思路声明变量判断是平年还是闰年判断现在是几月算13日是星期几输出完美结束好啦 先不要向下看 自己试试????#include <iostream>using namespace std;int m[2][12]={31,28,31,30,31,30,31,31,30...原创 2020-02-04 22:17:49 · 354 阅读 · 0 评论 -
小鱼会有危险吗
小鱼会有危险吗洛谷P1426这是一道比较简单的模拟题 理清思路 写一堆判断条件就好了思路这我们所有的变量量好范围判断:如果不在陷阱中;如果及时游走了;如果被抓到了输出完美结束上代码#include <iostream>using namespace std;double m=7,s,x,l,r,n=0;int main (){ cin >...原创 2020-01-24 16:46:04 · 2922 阅读 · 0 评论 -
合并果子
合并果子洛谷P1090这题其实简单来讲就是选出两个最小的相加这貌似是我写过难度最高的题解了 这道题用priority_queue最方便priority_queue是什么?英语有信心的大神戳这里 其他人戳这里对优先队列 或priority_queue有点了解了吧 接下来就特别简单了//// main.cpp// 合并果子//// Created by Helen on...原创 2020-01-21 16:33:41 · 351 阅读 · 0 评论 -
小A的糖果
小A的糖果洛谷P3817这是我有史以来第一次这么自信的做题 这题和均分纸牌一样啊 实际上本质都是只能向一边挪/吃但是有一点 要注意对“吃几个”的判断如果当前判断的这对糖果a[ i ]小于等于x 就直接将它右面的那一堆减到需要的数量如果a[ i ]大于x 就将a[ i ]减到x 不够再减右边那堆a[ i+1 ]就是这么简单 实现也不难步骤这我们要用的数组 变量 注意!这里有...原创 2020-01-21 16:16:31 · 338 阅读 · 0 评论 -
积木大赛
积木大赛洛谷P1969呃呃呃呃 很无奈 这题和洛谷P5019铺设道路是完全一样的 所以去我的另外一篇博客 铺设道路 看思路还是把代码放上吧#include <iostream>using namespace std;int n,ans=0;int d[100005];int main (){ cin >> n; for (int i=0;...原创 2020-01-15 21:53:32 · 283 阅读 · 0 评论 -
铺设道路
铺设道路洛谷P5019ummmmm 这道题纯模拟能做吗?(敲键盘…)啊啊啊 好麻烦!等等 贪心!?贪心策略实际上就是在填满小坑的同时,大坑也会被填掉一些,所以if (d[i]>d[i-1]) ans+=d[i]-d[i-1];思路:输入判断输出(别忘记了 这种策略是在不算第一个的基础上进行的 所以最后还要加上第一个坑)#include <...原创 2020-01-12 10:22:27 · 308 阅读 · 0 评论 -
Mixing Milk
Mixing Milk洛谷P1208作为会结构体的我们 这道题太简单啦~(如果你还不是“我们” 请参考我的另一篇文章“凌乱的yyy”)思路:设置我们可爱的结构体将单价从小到大排序如果提供的量小于我们需要的 全买了!否则还是省省钱 买我们需要的吧话不多说 上代码//// main.cpp// Mixing Milk//// Created by Helen on...原创 2020-01-11 22:11:50 · 226 阅读 · 0 评论 -
凌乱的yyy / 线段覆盖
一看到这道题:天啊,这么简单!5分钟写出了#include <iostream>using namespace std;int c[1000005];int main (){ int n,ai,bi,ans=0; cin >> n; for (int i=0;i<n;i++) { cin >> ai...原创 2020-01-06 22:58:18 · 398 阅读 · 1 评论 -
均分纸牌
均分纸牌洛谷P1031乍一看到,可能会很蒙 移到左右都行?!但是细想一下,其实 “可以移到相邻左边或右边的堆上“这句话是没啥用的Because四堆纸牌,第一堆只能挪到第二堆,那么接下来,任何事情就与第一堆没关系了,因为它的数量已经满足了!那么就可以把第一堆“删掉”,第二堆就变成了第一堆!接下来上述再循环一遍…也就是说,所有的牌 只可能向右边挪!那接下来就简单了求出平均数算出当...原创 2020-01-01 18:48:50 · 652 阅读 · 1 评论