学习笔记
记录当前学习对题目的思考
康乐~
这个作者很懒,什么都没留下…
展开
-
第十届蓝桥杯 后缀表达式(过所有案例)
【问题描述】给定 N 个加号、M 个减号以及 N + M + 1 个整数 A 1 ,A 2 ,··· ,A N+M+1 ,小明想知道在所有由这 N 个加号、M 个减号以及 N + M +1 个整数凑出的合法的后缀表达式中,结果最大的是哪一个?请你输出这个最大的结果。例如使用1 2 3 + -,则 “2 3 + 1 -” 这个后缀表达式结果是 4,是最大的。【输入格式】第一行包含两个整数 N 和 M。第二行包含 N + M + 1 个整数 A 1 ,A 2 ,··· ,A N+M+1 。【输原创 2022-03-18 13:54:50 · 551 阅读 · 1 评论 -
2021-8-13 链式存(图)边,Dijkstra最短路径
https://www.luogu.com.cn/problem/B3602#include<iostream>#include<cstdio>#include<queue>#include<limits.h>using namespace std;using ll = long long;ll m, n, head[300005], a, b, c, all;//记录每个边的起点位置bool vis[300005];//记录已经确定.原创 2021-08-13 12:00:57 · 154 阅读 · 0 评论 -
2021-08-05 洛谷P1358 扑克牌
https://www.luogu.com.cn/problem/P1358避个坑:在用乘除法求组合数并且要取模运算时,分子算完取模,除分母取模可能会出现分子除不尽分母;所以代码改进当要除不尽时,给分子加上取模的值,直到它可以除尽分母为止;#include <cstdio>#include <algorithm>#include <iostream>#include <cmath>#include<unordered_map>u原创 2021-08-05 17:13:06 · 375 阅读 · 0 评论 -
2021-07-31 L2-013 红色警报 (25 分,并查集)
https://pintia.cn/problem-sets/994805046380707840/problems/994805063963230208本题应先使用并查集数出有多少个集合,在删掉一个点后如果有一个集合因此分成了两个集合,即连通性被破坏。此时的新集合数一定大于原来的集合数,因为有个集合一分为二。对于删除点的方法这里直接使用重建并查集的方法,即如果删除1号点的话则在重建时把包含1号点的两个点不进行连接,再去数此时集合的数量。这样就相当与删除了1号点。#include <cst.原创 2021-07-31 18:20:17 · 163 阅读 · 0 评论 -
2021-6-10 最小新整数(贪心)
题目描述给定一个十进制正整数nn(0<n<10000000000<n<1000000000),每个数位上数字均不为00。nn的位数为mm。现在从mm位中删除kk位 (0<k<m0<k<m),求生成的新整数最小为多少?例如:n=9128456n=9128456,k=2k=2, 则生成的新整数最小为1245612456。输入第一行TT, 表示有TT组数据。接下来TT行,每一行表示一组测试数据,每组测试数据包...原创 2021-06-10 17:40:01 · 516 阅读 · 0 评论 -
2021-06-04 畜栏保留问题 优先队列
畜栏保留问题时间限制:1.00s|内存限制:128MB题目描述农场有NN头牛,每头牛会在一个特定的时间区间[A,B][A,B](包含AA和BB) 在畜栏里挤奶,且一个畜栏里同时只能有一头牛在挤奶。现在农场主希望知道最少几个畜栏能满足上述要求, 并要求给出每头牛被安排的方案。对于多种可行方案,输出一种即可。输入输入的第一行包含一个整数NN(1≤N≤500001≤N≤50000), 表示有NN牛头; 接下来NN行每行包含两 个数,分别表示这头牛的挤奶时间...原创 2021-06-04 10:44:56 · 405 阅读 · 0 评论 -
2021-05-29 钓鱼(贪心)
问题 E: 钓鱼提交:50|解决:14|时间限制:1.00s|内存限制:128M题目描述小明准备去钓鱼,他准备在一个有nn个湖的地方钓hh小时,小明只能按顺序从第 1 个湖 开始,依次在各个湖钓鱼,但是在每个湖的钓鱼时间是由小明自己决定的。从第ii个湖走到第i+1i+1个湖的时间是titi个55分钟。例如t3=4,t3=4,表明从第33个湖走到第44个湖需要2020分钟。对于每个湖ii,在初始的55分钟,小明可以钓到fif...原创 2021-05-29 11:21:51 · 713 阅读 · 0 评论 -
2021-05-22 跳跃游戏 动归,贪心
45. 跳跃游戏 II难度中等985给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。假设你总是可以到达数组的最后一个位置。示例 1:输入: [2,3,1,1,4]输出: 2//递归#include<iostream>#include<algorithm>#include<vector>using namespace std;原创 2021-05-22 20:15:34 · 93 阅读 · 0 评论 -
2021-05-21 最长公共子序列
题目描述给出1,2,\ldots,n1,2,…,n的两个排列P_1P1和P_2P2,求它们的最长公共子序列。输入格式第一行是一个数nn。接下来两行,每行为nn个数,为自然数1,2,\ldots,n1,2,…,n的一个排列。输出格式一个数,即最长公共子序列的长度。输入输出样例输入 #1复制5 3 2 1 4 51 2 3 4 5输出 #1复制3说明/提示n<100000;//递归,存在大量重复子问题计算,需要动...原创 2021-05-22 10:45:04 · 416 阅读 · 0 评论 -
2021-05-21 凑平方数(位运算)
题目描述本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。把00~99这1010个数字,分成多个组,每个组恰好是一个平方数,这是能够办到的。比如:0, 36, 5948721再比如:10985247361, 25, 63907840, 4, 289, 15376...注意,00可以作为独立的数字,但不能作为多位数字的开始。 分组时,必须用完所有的数字,不能重复,不能遗漏。如果不计较小组内数据的先后顺序,请问有多少种不...原创 2021-05-21 11:19:03 · 353 阅读 · 0 评论 -
2021-05-19 编辑距离
题目描述设A和B是两个字符串。我们要用最少的字符操作次数,将字符串A转换为字符串B。这里所说的字符操作共有三种:1、删除一个字符;2、插入一个字符;3、将一个字符改为另一个字符;!皆为小写字母!输入格式第一行为字符串A;第二行为字符串B;字符串A和B的长度均小于2000。输出格式只有一个正整数,为最少字符操作次数。输入输出样例输入sfdqxbwgfdgw输出4...原创 2021-05-19 09:40:17 · 1149 阅读 · 0 评论 -
2021-05-15 Nice boat 线段树对区间进行修改和访问(懒操作)
Nice boatProblem DescriptionThere is an old country and the king fell in love with a devil. The devil always asks the king to do some crazy things. Although the king used to be wise and beloved by his people. Now he is just like a boy in love and can’t原创 2021-05-15 11:00:10 · 414 阅读 · 0 评论 -
2021-05-13 子串分值(子串)
蓝桥杯 子串分值对于一个字符串SS,我们定义SS的分值f(S)f(S)为SS中恰好出现一次的字符个数。例如f(“aba”)=1f(“aba”)=1,f(“abc”)=3f(“abc”)=3,f(“aaa”)=0f(“aaa”)=0。现在给定一个字符串S[0…n−1]S[0…n−1](长度为nn),请你计算对于所有SS的非空子串S[i…j](0≤i≤j<n)S[i…j](0≤i≤j<n),f(S[i…j])f(S[i…j])的和是多少。输入格式...原创 2021-05-13 19:53:55 · 257 阅读 · 0 评论 -
2021-05-13 [NOI2001] 食物链,并查集
[NOI2001] 食物链题目描述动物王国中有三类动物 A,B,C,这三类动物的食物链构成了有趣的环形。A 吃 B,B 吃 C,C 吃 A。现有 N 个动物,以 1 - N 编号。每个动物都是 A,B,C 中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这 N 个动物所构成的食物链关系进行描述:第一种说法是1 X Y,表示 X 和 Y 是同类。 第二种说法是2 X Y,表示 X 吃 Y 。此人对 N 个动物,用上述两种说法,一句接一句地说出 K 句话,这 K 句话有的是真.原创 2021-05-13 14:42:08 · 556 阅读 · 2 评论 -
2021-05-07 求一个数约数的个数
求一个数的约数的个数:360=2*2*2*3*3*5=2^3+3^2+5(分解为质因数,因为当各各质因数幂不同时,就是一个不重复的约数)那么360的约数只能为2^a*3^b*5^c2(a的范围(0-3),b的范围(0-2),c的范围(0-1)),因此360的约数有4*3*2=24个。求100的阶乘的约数的个数:#include<iostream>#include<vector>using namespace std;int isprime[120];void .原创 2021-05-07 20:17:48 · 129 阅读 · 0 评论 -
2021-04-30 UVA10129 单词 Play on Words 欧拉回路
UVA10129 单词 Play on Words 欧拉回路的判断题意翻译输入n(n\leq100000)n(n≤100000)个单词,是否可以把所有这些单词排成一个序列,使得每个单词的第一个字母可上一个单词的最后一个字母相同(例如acm,malform,mouseacm,malform,mouse)。每个单词最多包含10001000个小写字母。输入中可以有重复的单词。输入输出样例输入 #1复制32acmibm3acmmalformmouse2okok欧拉.原创 2021-04-30 15:47:55 · 119 阅读 · 0 评论 -
2021-04-29 UVA10305 给任务排序 Ordering Tasks 拓扑排序
题意翻译John有n个任务要做,每个任务在做之前要先做特定的一些任务。输入第一行包含两个整数n和m,其中1<=n<=100。 n表示任务数,而m表示有m条任务之间的关系。 接下来有m行,每行包含两个整数i和j,表示任务i要在j之前做。当读入两个0(i=0,j=0)时,输入结束。输出包含q行,每行输出一条可行的安排方案。输入输出样例输入 #1复制5 41 22 31 31 50 0输出 #1复制1 4 2 5 3...原创 2021-04-29 20:04:18 · 150 阅读 · 0 评论 -
2021-04-25 树 uva 548
树题意翻译输入一个二叉树的中序和后序遍历,请你输出一个叶子节点,该叶子节点到根的数值总和最小,且这个叶子是编号最小的那个。 输入: 您的程序将从输入文件中读取两行(直到文件结尾)。第一行是树的中序遍历值序列,第二行是树的后序遍历值序列。所有值将不同(因为所有值不同且有限所以可以用数组保存)(下面有两种建树方法),大于零且小于或等于10000.二叉树的节1<=N<=10000。 输出: 对于每个树描述,您应该输出最小值路径的叶节点的值。存在多路径最小的情况下,您应该选择终端叶子节点上具有最原创 2021-04-25 21:04:10 · 94 阅读 · 0 评论 -
2021-04-25四分树 像素染色 uva 297
四分树如图所示,可以用四分图来表示一个黑白图像,方法是用根节点表示整幅图像,然后把行列个分成两等份,按图中的方式编号,从左到右对应4个子节点。如果某子节点对应的区域全黑或全白,则直接用一个黑节点或白节点表示;如既有黑又有白,则用一个灰节点表示,并且为这个区域递归建树。 给出两棵四分树的先序遍历,求二者合并(黑色部分合并)黑像素的个数(每幅图都是32X32的)。p表示灰节点,f表示黑节点,e表示白节点。 具体内容看原文和紫书。感谢 @happyZYM 提供的翻译。输入输出样例输入 #1复制3ppe原创 2021-04-25 14:57:34 · 129 阅读 · 0 评论 -
2021-04-24 生日蛋糕dfs
生日蛋糕内存限制:128MB题目描述要制作一个体积为NπNπ的MM层生日蛋糕,每层都是一个圆柱体。设从下往上数第 i(1≤i≤M1≤i≤M)层蛋糕是半径为RiRi、高度为HiHi的圆柱体。当i<Mi<M时,要求Ri>Ri+1Ri>Ri+1且Hi>Hi+1Hi>Hi+1。由于要在蛋糕上抹奶油,为尽可能节约经费,希望蛋糕外表面(最下一层的下底面除外)的面积QQ最小。令Q=SπQ=Sπ,编程对给出的NN和MM,找出蛋糕的最...原创 2021-04-24 17:03:30 · 193 阅读 · 0 评论