c+++++++算法题
c语言算法题题解
嗯嗯你说的对
鼠鼠我已经有女朋友了啊
展开
-
P1217 [USACO1.5]回文质数 Prime Palindromes
因为 151151 既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151151 是回文质数。写一个程序来找出范围[a,b](5≤a原创 2023-04-09 14:46:38 · 147 阅读 · 0 评论 -
Codeforces Round 894 (Div. 3)
Codeforces Round 894 (Div. 3) A-F原创 2023-08-25 01:21:18 · 232 阅读 · 0 评论 -
scanf(“%d\n“,&n)存在的问题
原因是这样写会忽略掉换行符,而换行符是输入结束的标志,当你忽略之后,计算机就会认为你还没有输入结束,所以就不会有结果,那么怎么办呢?也就是在scanf("%d")之后用一个getchar()来读取换行符。实测直接交到oj上去是没问题的(可能因为oj是linux的缘故)对于本地运行,可以使用ctrl + d 来结束输入。当然,可以不用scanf("\n")这种写法。原创 2023-08-21 16:06:42 · 219 阅读 · 0 评论 -
Contest3111 - 计科2101~2104算法设计与分析上机作业07
Contest3111 - 计科2101~2104算法设计与分析上机作业07原创 2023-05-03 23:47:33 · 788 阅读 · 0 评论 -
Contest3032 - 计科2101~2104算法设计与分析上机作业03
Contest3030 - 计科2101~2104算法设计与分析上机作业03原创 2023-05-02 15:31:11 · 1232 阅读 · 0 评论 -
Contest3047 - 计科2101~2104算法设计与分析上机作业04
Contest3047 - 计科2101~2104算法设计与分析上机作业04原创 2023-05-02 13:58:13 · 1160 阅读 · 0 评论 -
Contest3083 - 计科2101~2104算法设计与分析上机作业06
回溯算法原创 2023-04-20 15:40:12 · 562 阅读 · 1 评论 -
问题 E: [蓝桥杯2016初赛]交换瓶子
用两个map,第一个map储存每个位置上的数,第二个map储存每个数的位置,然后再遍历一遍数组,a[i]!比如有5个瓶子:2 1 3 5 4,要求每次拿起2个瓶子,交换它们的位置。第一行: 一个正整数N(N<10000), 表示瓶子的数目。第二行:N个正整数,用空格分开,表示瓶子目前的排列情况。对于这么简单的情况,显然,至少需要交换2次就可以复位。经过若干次后,使得瓶子的序号为:1 2 3 4 5。对于每组测试数据输出一行,包含一个正整数表示答案。有N个瓶子,编号 1 ~ N,放在架子上。原创 2023-03-28 11:23:49 · 52 阅读 · 0 评论 -
Contest3015 - 2023上半年ACM&蓝桥杯每周训练题-5题解
Contest3015 - 2023上半年ACM&蓝桥杯每周训练题-5题解原创 2023-03-23 21:06:18 · 3912 阅读 · 0 评论 -
Contest2967 - 2022-2023-2 ACM集训队每周程序设计竞赛(1)
周赛题解原创 2023-02-25 10:32:29 · 1522 阅读 · 2 评论 -
迪杰斯特拉算法浅析
所谓的迪杰斯特拉算法,就是一个用来求一个图中某点到其它点的最短路径的算法。大致方法:遍历所有节点,找到离起点最近的一个点(那么这个点到起点的最小距离肯定是起点到这个点的这条边的权值),然后标记这个点被使用过了以1中的那个点为中继,更新其它节点到起点的距离,也就是更新这个dis数组,怎么更新呢?当然是遍历所有点,如果这个点原先到起点的距离大于现在经过中继到起点的距离,那么就用这个较小的值更新dis数组下面讲一下是怎么实现的。原创 2023-02-23 09:11:50 · 2846 阅读 · 11 评论 -
Contest2897 - 2023寒假集训-进阶训练赛(一)
题解原创 2023-02-19 09:37:59 · 613 阅读 · 0 评论 -
快速幂不详解
快速幂不详解原创 2023-02-17 15:48:47 · 59 阅读 · 0 评论 -
关于c++ mod的性质的一些总结
所谓mod,也就是取余,在c++中用’%‘表示,是非常常见的一种对数据的处理方式,通俗的说,a mod b 等于a除以b的余数(当然了,b不能等于0),a、b都得为整数。下面,介绍一些它的性质。所谓模同余,就是两个数对同一个数取模,如果结果相同,则称他们模同余。原创 2023-01-12 01:29:06 · 2989 阅读 · 0 评论 -
Codeforces Round #842 (Div. 2)题解
*这次算是第一次补题了,原因是在做的过程中做出了c题,可是后来重判的时候超时了,然后修修补补,终于弄好了,记录一下*//***************************解释************************/这里我用了很多个数组(还好元素值不是很大),用来储存各种各样的数据,因为使用下标访问会很快。原创 2023-01-07 00:54:43 · 987 阅读 · 0 评论 -
背包问题浅析(most basic version)
给你一个背包,能装的物品重量有限,再给你一些物品和它的价值,问你能装下的最大价值是多少。这就是背包问题,其核心思想是动态规划。原创 2022-12-18 23:19:04 · 93 阅读 · 0 评论 -
abcd题解
一到四题原创 2022-12-03 22:04:01 · 228 阅读 · 0 评论 -
c++优先队列简介及例题:5.4.1 围栏修复
优先队列,其实就是个队列,只不过里面的元素会被自动按一定的顺序来排列。可以是递增顺序,也可以是递减顺序。农民 John 希望修复围绕农场的一小段围栏。他测量了一下,发现需要N (1原创 2022-11-17 14:16:47 · 370 阅读 · 0 评论 -
811. 子域名访问计数
输出:["901 mail.com","50 yahoo.com","900 google.mail.com","5 wiki.org","5 org","1 intel.mail.com","951 com"]解释:按照前文描述,会访问 "google.mail.com" 900 次,"yahoo.com" 50 次,"intel.mail.com" 1 次,"wiki.org" 5 次。按照前文描述,子域名 "leetcode.com" 和 "com" 都会被访问,所以它们都被访问了 9001 次。原创 2022-10-05 14:12:08 · 414 阅读 · 0 评论 -
4. 寻找两个正序数组的中位数
很常规的一道题,注意就是判断中位数是一个还是两个,如果数组长度为偶数的话,那么中位数就是中间两个,如果长度是奇数的话,中位数就是中间一个。给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5。输入:nums1 = [1,2], nums2 = [3,4]输入:nums1 = [1,3], nums2 = [2]解释:合并数组 = [1,2,3] ,中位数 2。输出:2.00000。原创 2022-10-03 09:21:37 · 89 阅读 · 0 评论 -
组合数--深度优先算法(DFS)的简单实现
DFS深度优先算法的简单实现原创 2022-09-01 19:36:34 · 259 阅读 · 0 评论 -
差分数组及应用
差分算法原创 2022-07-15 15:54:05 · 317 阅读 · 0 评论 -
问题 G: 2.4.2 Web导航
数组替换栈哈哈哈哈原创 2022-06-27 23:28:34 · 106 阅读 · 0 评论 -
问题 I: 求和
题目描述给一个长度为n的序列,你需要求出其中连续m个数的和的最大值是多少。输入第一行给出一个数字T,表示数组总数 (t<100)每组数据的第一行有两个数字 n,m (0<m≤n≤1e5)第二行有n个数字ai (0<ai<1e9)输出对于每组数据,输出最大的连续m个数之和样例输入 复制2 5 22 5 4 1 68 33 5 8 2 1 8 9 7样例输出 复制924关键是前n项之和,用a[i]+=a[i-1]循环可得前i项..原创 2022-05-02 20:41:21 · 293 阅读 · 0 评论 -
问题 B: 数据结构作业01 -- 一元多项式的求和
题目描述一个一元多项式可以看作由若干个一元单项式按降幂排列成的线性表。请编写程序对输入的两个一元多项式求和,并输出求和的结果。输入输入为两个一元多项式,每个一元多项式输入一行,按照降幂依次输入每个单项式的系数和指数,并以-1 -1作为结束。系数和指数均为整数,指数不小于0。输出输出为求和结果多项式,按照降幂依次输出每个单项的系数和指数,每个数值后面用一个空格隔开,输出结果多项式后换行。 系数为0的单项式不得输出——除非结果多项式就是0,则直接输出0。样例输入 复制2 7 3 5原创 2022-05-02 19:06:08 · 527 阅读 · 0 评论 -
问题 A: 素数回文
题目描述小王对既是素数又是回文的数特别感兴趣。比如说151既是素数又是个回文。现在小王想要你帮助他找出某个范围内的素数回文数,请你写个程序找出 a 跟b 之间满足条件的数。(5 <= a < b <= 9999999);输入输入a和b(5 <= a < b <= 9999999)输出按从小到大输出a,b之间所有满足条件的素数回文数样例输入 复制5 500样例输出 复制57111011311511811913133原创 2022-05-02 18:02:34 · 238 阅读 · 0 评论 -
问题 B: 运动会项目积分排名
题目描述根据学校参加运动会项目的积分情况,计算每个学校所获得的总积分,按照积分高低输出学校以及学校积分。输入输入包括多行数据,每行数据依次是学校名称 项目名称 选手姓名 成绩 积分学校总数不超过10个,学校名称、项目名称和选手姓名是字符串形式,不超过50个字符,成绩为浮点型数据,积分为整数,大于等于0,小于等于10输出按照学校获得积分降序排列,每个学校一行,输出学校名称 积分样例输入复制北化 跳高 张三 1.7 7北大 跳高 李四 1.55 3样例输出复制北化..原创 2022-04-29 19:42:51 · 308 阅读 · 0 评论 -
问题 E: 括号的最大嵌套深度
题目描述如果字符串满足以下条件之一,则可以称之为有效括号字符串(valid parentheses string,可以简写为VPS):字符串是一个空字符串 "",或者是一个不为 "(" 或 ")" 的单字符。 字符串可以写为 AB(A 与 B 字符串连接),其中 A 和 B 都是有效括号字符串。 字符串可以写为 (A),其中 A 是一个有效括号字符串。类似地,可以定义任何有效括号字符串 S 的嵌套深度depth(S):depth("") = 0 depth(C) = 0,...原创 2022-04-29 19:22:31 · 118 阅读 · 0 评论 -
问题 C: 销售排行榜
题目描述你的任务是帮助淘宝网店店长整理销售数据,根据累计的销售记录,将所有商品按销售数量降序排列。输入输入包括多行数据(行数小于100000),每行数据包括4个信息,分别是商品名称、销售数量、单价、成交日期商品名称由小写字母组成,且不超过100个字符,销售数量和单价都是正整数,且小于10000输出输出包括多行数据,将所有在输入中出现的商品按销售数量降序排列,每行数据包括3个信息,分别是商品名称、销售数量、销售额,如果两种商品销售数量一样,则按商品的字母顺序升序排列样例输入 复制原创 2022-04-29 13:20:23 · 462 阅读 · 0 评论 -
问题 D: 稀疏矩阵类型判断
题目描述输入一个稀疏矩阵,输出其类型。类型包括:上三角:对角线及其右上方的元素非0,其它元素为0下三角:对角线及其左下方的元素非0,其它元素为0对称:沿对角线对称的元素非0且相等空矩阵:所有元素都为0其它为普通矩阵输入输入包括多组数据每组数据的第一行为正整数m和n,分别代表矩阵的行数和列数,接下来跟着m行,每行是空格隔开的n个整数输出对输入的每组数据,输出矩阵类型对应的汉语拼音。样例输入 复制3 31 1 20 1 30 0 22 21 01原创 2022-04-29 12:21:55 · 473 阅读 · 0 评论 -
问题 A: 寻找第K大的数
题目描述要求在N个不重复的整数中,找出第K大的整数 ,其中0<K<N<1000000输入输入第一行为两个正整数N K第二行为N个整数,输入保证这N个整数两两相异,每个整数的范围在-1000000到1000000之间输出输出第K大的整数值样例输入 复制5 33 2 4 5 1样例输出 复制3提示可以借鉴快速排序的思想,先划分,再确定查找范围你说什么?stl?好的!sort()用法详见C++ sort()排序详解_A..原创 2022-04-28 22:38:26 · 106 阅读 · 0 评论 -
问题 F: 合法出栈顺序
题目描述我们知道,一个入栈序列是{1,2,3}的合法出栈序列有{3,2,1},{1,2,3}等,而{3,1,2}是不合法的.现在冰语有一个长度为n的序列A(保证序列内数字唯一,且1<=A[i]<=n)。他想知道这个序列是不是入栈顺序{1,2,3,...n}的合法出栈序列,你能告诉他么?输入第一行为T,表示样例个数每个样例第一行为n,第二行为n个数1<=T<=1e4,3<=n<=100输出对于每个样例输出一行,合法输出"YES",反之输出"NO",原创 2022-04-18 19:08:04 · 240 阅读 · 0 评论 -
问题 E: 栈操作的正确性
题目描述对输入序列执行一组栈操作,判断操作是否正确。输入每行是一个测试用例,表示一个操作序列。操作序列由P和Q两个符号组成,P表示入栈,Q表示出栈。操作序列长度不超过1000。输出对每个操作序列,若操作序列正确,即操作结束时栈中刚好为空,则输出Y; 若操作序列有错误,如栈空时执行出栈操作,或操作结束时栈中不空,则输出N。样例输入复制PQPPQPQQ样例输出复制NYN这道题捏和上一题差不多,我就不解释了,自己想想呗!#include&l...原创 2022-04-18 19:03:43 · 579 阅读 · 0 评论 -
问题 D: 数据结构练习 -- 栈的操作
题目描述对输入整数序列1 2 3 ..执行一组栈操作,输出操作的出栈序列。输入每行是一个测试用例,表示一个操作序列。操作序列由P和Q两个符号组成,P表示入栈,Q表示出栈。每个操作序列长度不超过1000。输出对每个操作序列,输出出栈序列,若操作序列有错误,如栈空时执行出栈操作,输出error。样例输入 复制PQPPQQPPPQPQPPPPQQPPPPQQPPPPQQ样例输出 复制1 3 2 6 7 4 3 1 error2 1 提示注意,Sa原创 2022-04-18 19:01:19 · 1548 阅读 · 0 评论 -
问题 C: 括号匹配
题目描述给你一个字符串,里面只包含"(",")","[","]"四种符号,请问你需要至少添加多少个括号才能使这些括号匹配起来。如:[]是匹配的([])[]是匹配的((]是不匹配的([)]是不匹配的输入第一行输入一个正整数N,表示测试数据组数(N<=10)每组测试数据都只有一行,是一个字符串S,S中只包含以上所说的四种字符,S的长度不超过100输出对于每组测试数据都输出一个正整数,表示最少需要添加的括号的数量。每组测试输出占一行样例输入 复制4[]([])[原创 2022-04-18 18:55:42 · 144 阅读 · 0 评论 -
问题 B: 括号匹配问题
题目描述判断仅由小括号组成的字符串是否满足括号匹配规则输入输入包括多行,每行一个仅有小括号组成的字符串,长度不超过100输出输出包括多行,如果对应的输入括号匹配,输出YES,否则输出NO样例输入()()()((()))())(((()样例输出YESYESNONO这道题肥肠煎蛋,用栈可以轻松解决:将左括号入栈,若碰到右括号就出栈,最后判断栈为空即为匹配成功,否则匹配不成功!代码:#include<bits/stdc++.h>.原创 2022-04-18 18:49:07 · 295 阅读 · 0 评论 -
问题 A: 数据结构作业(可选)-- 约瑟环问题
题目描述将m个孩子从1到m编上号,按序号围坐成一个圈,从1号孩子开始数,每数到n时,被数到的孩子即离开圈子,然后从下一个孩子开始,再从1开始数,如此不断地数下去,只到只剩下最后一个孩子,问剩下的孩子是几号?输入输入为一组整数对,每个整数对占一行,整数对的第一个整数表示m,即孩子的个数,第二个整数表示n,即被数到n的孩子将离开。 0<m<10000, n>0 输入以0 0作为结束。输出每组整数对输出一个结果整数,每个输出占一行。 最后一行输入0 0不产生输出。样例输入 复制8 3原创 2022-04-18 18:43:58 · 1154 阅读 · 0 评论 -
问题 J: 36.for循环求阶乘
题目描述利用for循环来计算n!的值。输入格式输入一个整数n(n<20)输出格式输出n!的结果是多少输入样例3输出样例6这是一道肥肠煎蛋的递归题,边界是n=0,注意定义函数时要用long long哦!完整代码如下:#include<bits/stdc++.h>using namespace std;long long fun(int n){ if(n==0) return 1; else return n*fun(n-.原创 2022-04-05 00:47:21 · 371 阅读 · 0 评论 -
问题 I: Real Big Water Problem
题目描述If you have solved the small water problem,let's see this big one.If you don't,I suggest you ignore this problem!Also give you a positive integer n.Function F_x satisfies: F_0 = cos{n} F_x = cosF_{x-1} (x>0)Calculate F_n.输入格式The input...原创 2022-04-04 18:44:08 · 491 阅读 · 0 评论 -
问题 H: Real Small Water Problem
题目描述The senior wanted you to create a water problem.This made you a headache.So you asked BingYu for help.Immediately after he listened,he came up with a problem:Give you a positive integer n.Function F_x satisfies: F_(0) = sin{n} F_(x) = sin{F_(...原创 2022-04-04 18:31:02 · 336 阅读 · 0 评论