自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 洛谷 P1781 宇宙总统

题目链接:https://www.luogu.com.cn/problem/P1781这一题看是有一百位之大,其实只要用字符串简单的比较一下大小即可#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int n;bool check(string s1, string s2){ if (s1.s

2020-09-30 17:13:31 136

原创 洛谷 P1093 奖学金

题目链接:https://www.luogu.com.cn/problem/P1093这一题主要是使用到结构体,同时对结构体内的元素排序。#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int N = 350;int n;struct Student{ int chinese

2020-09-30 16:19:12 164

原创 洛谷 P5710 【深基3.例2】数的性质

题目链接:https://www.luogu.com.cn/problem/P5710这个是对逻辑运算符的考察,直接写就好了#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int n;bool a, b;int main(){ cin >> n; if (n &

2020-09-30 13:32:22 439

原创 洛谷 P5708 【深基2.习2】三角形面积

题目链接:https://www.luogu.com.cn/problem/P5708这一题直接使用题目中给的公式即可#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>using namespace std;double a, b, c;int main(){ cin >>

2020-09-30 13:07:05 444

原创 洛谷 P5706 【深基2.例8】再分肥宅水

题目连接:https://www.luogu.com.cn/problem/P5706这一题注意输出输出即可。#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;double t;int n;int main(){ cin >> t >> n; pri

2020-09-30 13:01:30 263

原创 洛谷 P5705 【深基2.例7】数字反转

题目链接:https://www.luogu.com.cn/problem/P5705这一题就是对一个字符串进行翻转,可以使用string容器的reverse翻转函数。注意这里的字符串需要处理一下前导0#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;string s;int main(){

2020-09-30 12:54:50 462

原创 洛谷 P5704 【深基2.例6】字母转换

题目链接:https://www.luogu.com.cn/problem/P5704这一题就是将小写转化为大写,正好在练一次string容器中的tramsform函数#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;string s;int main(){ cin >> s;

2020-09-30 12:48:08 170

原创 洛谷 P5318 【深基18.例3】查找文献

题目链接:https://www.luogu.com.cn/problem/P5318这是一道深度优先遍历和广度优先遍历的模板题,注意要求输出的时候,是先输出编号较小的那一篇下面是没有通过的代码,原因就是没有注意还有输出顺序的安排。//为满足先查看编号较小的那一篇的规则,所以没有通过#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#includ

2020-09-30 07:24:28 424 1

原创 洛谷 P3370 【模板】字符串哈希【字符串哈希】

做题地址:https://www.luogu.com.cn/problem/P3370这一题是询问不同字符串的个数,所以知道找到不同字符串的个数就可以了。首先,第一种做法,使用stl容器里的map,自动就会给筛掉重复的数据,同时map还有size()函数可用,简直不要太方便了。#include <iostream>#include <cstdio>#include <cstring>#include <cstdio>#include <m

2020-09-29 21:18:46 386

原创 洛谷 P1536 村村通

做题地址:https://www.luogu.com.cn/problem/P1536这一题也是在考察并查集,不过这一次不是考察两个顶点是否处于同一块,而是询问区间块的个数。找到区间块的个数后,再减去一就好了。因为n个点最少由n-1个边连接起来。下面是代码#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std

2020-09-29 19:21:08 561

原创 洛谷 P1551 亲戚

做题地址:https://www.luogu.com.cn/problem/P1551这一题主要考察并查集,是一道模板题,可以直接上手,无坑#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int N = 100010;int n, m, q;int f[N];int find(in

2020-09-29 17:56:00 108

原创 洛谷 P1827 [USACO3.4]美国血统 American Heritage【由前序遍历和中序遍历,得到后序遍历】

做题地址:https://www.luogu.com.cn/problem/P1827这一题是给定一棵二叉树的前序遍历和中序遍历,让我们求得他的后序遍历的结果首先我们要明白的一点是,遍历是怎么实现的。前序遍历:按照根、左子树、右子树的顺序访问节点中序遍历:按照左子树、根、右子树的顺序访问节点后序遍历:按照左子树、右子树、根的顺序访问节点在做这个题的时候,我们要注意的一点是,怎么通过前序遍历和中序遍历来得到后序遍历1我们找到前序遍历的第一个节点,记它为root,他就是当前子树的根节点,

2020-09-28 21:37:28 381

原创 洛谷 P4913 【深基16.例3】二叉树深度【二叉树遍历dfs】

题目链接:https://www.luogu.com.cn/problem/P4913dfs遍历二叉树的每颗子树,直到遍历到叶子节点后,停下#include <bits/stdc++.h>using namespace std;const int N = 1e6 + 10;struct node{ int left; int right;};int n, res;node tree[N];void dfs(int val, int deep){

2020-09-28 16:54:37 209

原创 洛谷 P4715 【深基16.例1】淘汰赛【二叉树】

题目链接:https://www.luogu.com.cn/problem/P4715这是一道运用到二叉树的概念,每次找到两个子树的最大值,并赋给父节点,然后依次执行。最后会得到树根,我们要的结果是比树根小一级,并且小于树根的那个数。用数组表示的话,就是将数据分为前后两个等长的部分,并找到两个区间的最大值中间较小的那个值的地址。下面是代码注意这里用的位运算符,记得及时加上括号,避免不必要的失误。这是血的教训!!!#include <bits/stdc++.h>using na

2020-09-28 16:40:38 443

原创 洛谷 P2249 【深基13.例1】查找

题目链接:https://www.luogu.com.cn/problem/P2249本题是左二分的简单应用。#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int N = 1e6 + 10;int n, m;int a[N];int main(){ cin >&gt

2020-09-27 19:16:40 2457

原创 洛谷 P1090 合并果子 / [USACO06NOV] Fence Repair G

做题地址:https://www.luogu.com.cn/problem/P1090这一题是贪心问题,我们只需要每次拿出两个最小的水果堆来合并就好了这里使用STL容器里的小根堆来做此题#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <queue>using namespace std;int n;prio

2020-09-27 19:02:03 174

原创 洛谷 P1223 排队接水

题目链接:https://www.luogu.com.cn/problem/P1223这一题是贪心来求解问题,让小的在前面,大的在后面,就是贪心下的最优解这里使用一下priority_queue优先队列在做,这个是STL容器下面是代码#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <queue>using na

2020-09-27 18:53:19 143

原创 洛谷 P2240 【深基12.例1】部分背包问题

题目描述阿里巴巴走进了装满宝藏的藏宝洞。藏宝洞里面有 N(N \le 100)N(N≤100) 堆金币,第 ii 堆金币的总重量和总价值分别是 m_i,v_i(1\le m_i,v_i \le 100)mi​ ,vi​ (1≤mi​ ,vi​ ≤100)。阿里巴巴有一个承重量为 T(T \le 1000)T(T≤1000) 的背包,但并不一定有办法将全部的金币都装进去。他想装走尽可能多价值的金币。所有金币都可以随意分割,分割完的金币重量价值比(也就是单位价格)不变。请问阿里巴巴最多

2020-09-27 17:19:21 233

原创 洛谷 P1088 火星人

题目描述人类终于登上了火星的土地并且见到了神秘的火星人。人类和火星人都无法理解对方的语言,但是我们的科学家发明了一种用数字交流的方法。这种交流方法是这样的,首先,火星人把一个非常大的数字告诉人类科学家,科学家破解这个数字的含义后,再把一个很小的数字加到这个大数上面,把结果告诉火星人,作为人类的回答。火星人用一种非常简单的方式来表示数字――掰手指。火星人只有一只手,但这只手上有成千上万的手指,这些手指排成一列,分别编号为1,2,3…1,2,3…。火星人的任意两根手指都能随意交换位置,他们就是通过这方法计数

2020-09-27 08:57:52 39

原创 洛谷 P1706 全排列问题

题目描述输出自然数 11 到 nn 所有不重复的排列,即 nn 的全排列,要求所产生的任一数字序列中不允许出现重复的数字。输入格式一个整数 nn。输出格式由 1 \sim n1∼n 组成的所有不重复的数字序列,每行一个序列。每个数字保留 55 个场宽。输入输出样例输入 #1 复制3输出 #1 复制1 2 31 3 22 1 32 3 13 1 23 2 1说明/提示1 \leq n \leq 91≤n

2020-09-27 08:38:12 165

原创 洛谷 P1157 组合的输出

题目描述排列与组合是常用的数学方法,其中组合就是从nn个元素中抽出rr个元素(不分顺序且r \le n)r≤n),我们可以简单地将nn个元素理解为自然数1,2,…,n1,2,…,n,从中任取rr个数。现要求你输出所有组合。例如n=5,r=3n=5,r=3,所有组合为:12 3 , 1 2 4 , 1 2 5 , 1 3 4 ,1 3 5 , 1 4 5 , 2 3 4 , 2 3 5 , 2 4 5 , 3 4 5123,124,125,134,135,145,234,235,245,345输入格

2020-09-27 08:21:40 351

原创 洛谷 P1036 选数

题目描述已知 nn 个整数 x_1,x_2,…,x_nx1​ ,x2​ ,…,xn​ ,以及11个整数kk(k<nk<n)。从nn个整数中任选kk个整数相加,可分别得到一系列的和。例如当n=4,k=3n=4,k=3,44个整数分别为3,7,12,193,7,12,19时,可得全部的组合与它们的和为:3+7+12=223+7+12=223+7+19=293+7+19=297+12+19=387+12+19=383+12+19=343+12+19=34。现在,要求你计算

2020-09-27 07:48:29 350

原创 洛谷 P1618 三连击(升级版)

题目描述将 1, 2,\ldots, 91,2,…,9 共 99 个数分成三组,分别组成三个三位数,且使这三个三位数的比例是 A:B:CA:B:C,试求出所有满足条件的三个三位数,若无解,输出 No!!!。//感谢黄小U饮品完善题意输入格式三个数,A,B,CA,B,C。输出格式若干行,每行 33 个数字。按照每行第一个数字升序排列。输入输出样例输入 #1 复制1 2 3输出 #1 复制192 384 576219 438 657273 546 819327 654 981说明/

2020-09-26 20:53:20 495

原创 Java 第一课

Java 第一课命令提示符命令提示符 1 启动:----------------win + R;输入cmd 2 切换判读:----------盘符名称: 3 进入文件夹:-------cd 文件夹名称【cd后有一个空格】 4 进入多级文件夹 :cd 文件夹1\文件夹2\文件夹3 5 回到上一级:-------cd…【cd点点】 6 回到盘符根路径 :-cd\ 7查看内容:-----------dir 8 清屏:----------------cls...

2020-09-25 21:24:26 1548

原创 洛谷 P1601 A+B Problem(高精)

题目描述高精度加法,相当于a+b problem,不用考虑负数.输入格式分两行输入。a,b \leq 10^{500}a,b≤10500输出格式输出只有一行,代表a+ba+b的值输入输出样例输入 #1 复制11输出 #1 复制2输入 #2 复制10019099输出 #2 复制10100一道高精度加法题,是一个模板题。#include <iostream>#include <cstdio>#include <cstring>#i

2020-09-25 12:21:00 168

原创 洛谷 P2670 扫雷游戏

题目描述扫雷游戏是一款十分经典的单机小游戏。在nn行mm列的雷区中有一些格子含有地雷(称之为地雷格),其他格子不含地雷(称之为非地雷格)。玩家翻开一个非地雷格时,该格将会出现一个数字——提示周围格子中有多少个是地雷格。游戏的目标是在不翻出任何地雷格的条件下,找出所有的非地雷格。现在给出nn行mm列的雷区中的地雷分布,要求计算出每个非地雷格周围的地雷格数。注:一个格子的周围格子包括其上、下、左、右、左上、右上、左下、右下八个方向上与之直接相邻的格子。输入格式第一行是用一个空格隔开的两个整数nn和mm

2020-09-25 11:35:38 948

原创 洛谷 P5736 【深基7.例2】质数筛

题目描述输入 n(n\le100)n(n≤100) 个不大于 100000 的整数。要求全部储存在数组中,去除掉不是质数的数字,依次输出剩余的质数。输入格式无输出格式无输入输出样例输入 #1 复制53 4 5 6 7输出 #1 复制3 5 7板子题,使用一下线性筛#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using n

2020-09-24 20:55:16 965

原创 洛谷 P5735 【深基7.例1】距离函数

题目描述给出平面坐标上不在一条直线上三个点坐标 (x_1,y_1),(x_2,y_2),(x_3,y_3)(x1​ ,y1​ ),(x2​ ,y2​ ),(x3​ ,y3​ ),坐标值是实数,且的绝对值不超过 100.00,求围成的三角形周长。保留两位小数。对于平面上的两个点 (x_1,y_1),(x_2,y_2)(x1​ ,y1​ ),(x2​ ,y2​ ),则这两个点之间的距离 dis=\sqrt{(x_2-x_1)2+(y_2-y_1)2

2020-09-24 20:44:09 1492

原创 洛谷 P1059 明明的随机数

题目描述明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了NN个11到10001000之间的随机整数(N≤100)(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。输入格式输入有两行,第11行为11个正整数,表示所生成的随机数的个数NN第22行有NN个用空格隔开的正整数,为所产生的随机数。输出格式输出也是两行,第11行

2020-09-24 15:28:48 598

原创 洛谷 P1540 机器翻译

题目背景小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。题目描述这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。对于每个英文单词,软件会先在内存中查找这个单词的中文含义,如果内存中有,软件就会用它进行翻译;如果内存中没有,软件就会在外存中的词典内查找,查出单词的中文含义然后翻译,并将这个单词和译义放入内存,以备后续的查找和翻译。假设内存中有 MM 个单元,每单元能存放一个单词和译义。每当软件将一个新单词存入内存前,如果当前内存中已存入的单词数不

2020-09-24 08:19:46 52

原创 洛谷 P1160 队列安排

题目描述一个学校里老师要将班上NN个同学排成一列,同学被编号为1\sim N1∼N,他采取如下的方法:先将11号同学安排进队列,这时队列中只有他一个人;2-N2−N号同学依次入列,编号为i的同学入列方式为:老师指定编号为i的同学站在编号为1\sim (i -1)1∼(i−1)中某位同学(即之前已经入列的同学)的左边或右边;从队列中去掉M(M<N)M(M<N)个同学,其他同学位置顺序不变。在所有同学按照上述方法队列排列完毕后,老师想知道从左到右所有同学的编号。输入格式第11行为一个正

2020-09-24 07:21:41 256

原创 洛谷 P1996 约瑟夫问题

题目描述nn 个人围成一圈,从第一个人开始报数,数到 mm 的人出列,再由下一个人重新从 11 开始报数,数到 mm 的人再出圈,依次类推,直到所有的人都出圈,请输出依次出圈人的编号。输入格式输入两个整数 n,mn,m。输出格式输出一行 nn 个整数,按顺序输出每个出圈人的编号。输入输出样例输入 #1 复制10 3输出 #1 复制3 6 9 2 7 1 8 5 10 4说明/提示1 \le m, n \le 1001≤m,n≤100约瑟夫环问题,可以用队列直接模拟#includ

2020-09-23 19:04:28 285

原创 洛谷【深基15.例2】寄包柜

寄包柜题目描述第一法,将a与b映射为一个大数第二法,二维映射题目描述超市里有 n(n\le10^5)n(n≤105) 个寄包柜。每个寄包柜格子数量不一,第 ii 个寄包柜有 a_i(a_i\le10^5)ai​ (ai​ ≤105) 个格子,不过我们并不知道各个 a_iai​ 的值。对于每个寄包柜,格子编号从 1 开始,一直到 a_iai​ 。现在有 q(q\le10^5)q(q≤105) 次操作:1 i j k:在第 ii 个柜子的第 jj 个格子存入物品 k(0

2020-09-23 17:02:07 836

原创 洛谷 P3156 【深基15.例1】询问学号

题目描述有 n(n \le 2 \times 10^6)n(n≤2×106) 名同学陆陆续续进入教室。我们知道每名同学的学号(在 1 到 10^9109之间),按进教室的顺序给出。上课了,老师想知道第 ii 个进入教室的同学的学号是什么(最先进入教室的同学 i=1i=1),询问次数不超过 10^5105次。输入格式第一行 2 个整数 n 和 m,表示学生个数和询问次数。第二行 n 个整数,表示按顺序进入教室的学号。第三行 m 个整数,表示询问第几个进入教室的同学。输出格式m 个整数

2020-09-23 16:12:45 1824

原创 应用 Liu20190401126 洛谷 / 题目列表 / 题目详情 P1765 手机

题目描述一般的手机的键盘是这样的:要按出英文字母就必须要按数字键多下。例如要按出 x 就得按 9 两下,第一下会出 w,而第二下会把 w 变成 x。0 键按一下会出一个空格。你的任务是读取若干句只包含英文小写字母和空格的句子,求出要在手机上打出这个句子至少需要按多少下键盘。输入格式一行句子,只包含英文小写字母和空格,且不超过 200 个字符。输出格式一行一个整数,表示按键盘的总次数。输入输出样例输入 #1 复制i have a dream输出 #1 复制23说明/提示NOI导刊

2020-09-22 21:17:27 432

原创 洛谷 P1308 统计单词数

题目描述一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置。注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词在不区分大小写的情况下完全相同(参见样例1 ),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例2 )。输入格式共22行。第11行为一个字符串,其中只含字母,表示给定单词;

2020-09-22 21:04:03 228

原创 洛谷 P5734 【深基6.例6】文字处理软件

题目题目描述你需要开发一款文字处理软件。最开始时输入一个字符串(不超过 100 个字符)作为初始文档。可以认为文档开头是第 0 个字符。需要支持以下操作:1 str:后接插入,在文档后面插入字符串 str,并输出文档的字符串。2 a b:截取文档部分,只保留文档中从第 a 个字符起 b 个字符,并输出文档的字符串。3 a str:插入片段,在文档中第 a 个字符前面插入字符串 str,并输出文档的字符串。4 str:查找子串,查找字符串 str 在文档中最先的位置并输出;如果找不到输出 -1。

2020-09-22 19:36:03 873

原创 前言

前言新建包新建类新建包右击src新建类右击包

2020-09-22 14:24:23 47

原创 P1125 笨小猴

题目链接:https://www.luogu.com.cn/problem/P1125题目描述笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大!这种方法的具体描述如下:假设maxn是单词中出现次数最多的字母的出现次数,minn是单词中出现次数最少的字母的出现次数,如果maxn-minn是一个质数,那么笨小猴就认为这是个Lucky Word,这样的单词很可能就是正确的答案。输入格式一个单词,其中只可能出现小写字母,并

2020-09-21 18:42:43 100

原创 格雷码

题目:格雷码题目描述所用算法分析代码题目描述通常,人们习惯将所有 n 位二进制串按照字典序排列,例如所有 2 位二进制串按字典序从小到大排列为:00,01,10,11。格雷码(Gray Code)是一种特殊的 n 位二进制串排列法,它要求相邻的两个二进制串间恰好有一位不同,特别地,第一个串与最后一个串也算作相邻。所有 2 位二进制串按格雷码排列的一个例子为:00,01,11,10。n 位格雷码不止一种,下面给出其中一种格雷码的生成算法:1 位格雷码由两个 1 位二进制串组成,顺序为:0,1。n

2020-09-18 21:23:30 7663 3

空空如也

空空如也

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

TA关注的人

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