09 2022 档案
回溯法-排列数字
摘要:题目:排列数字(全排列) 给定一个整数n,将数字1∼n 排成一排,将会有很多种排列方法。 现在,请你按照字典序将所有的排列方法输出。 输入格式 共一行,包含一个整数n。 输出格式 按字典序输出所有排列方案,每个方案占一行。 数据范围 1≤n≤7 输入样例: 3 输出样例: 1 2 3 1 3 2 2 阅读全文
posted @ 2022-09-28 08:43 yc-limitless
双指针-数组元素的目标和
摘要:题目1:数组元素的目标和 给定两个升序排序的有序数组A和B,以及一个目标值x。 数组下标从0开始。 请你求出满足 A[i]+B[j]=x的数对 (i,j)。 数据保证有唯一解。 输入格式 第一行包含三个整数 n,m,x分别表示A的长度,B的长度以及目标值x。 第二行包含n个整数,表示数组A。 第三行 阅读全文
posted @ 2022-09-21 09:38 yc-limitless
双指针-最长连续不重复子序列
摘要:题目1:最长连续不重复子序列 给定一个长度为n的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。 输入格式 第一行包含整数n。 第二行包含n个整数,表示整数序列。 输出格式 共一行,包含一个整数,表示最长的不包含重复的数的连续区间的长度。 输入样例: 5 1 2 2 3 5 输出样例: 阅读全文
posted @ 2022-09-21 09:14 yc-limitless
其他-区间和
摘要:题目1:区间和 假定有一个无限长的数轴,数轴上每个坐标上的数都是0。 现在,我们首先进行n次操作,每次操作将某一位置x上的数加c。 接下来,进行m次询问,每个询问包含两个整数l和r,你需要求出在区间[l,r]之间的所有数的和。 输入格式 第一行包含两个整数n和m。 接下来n行,每行包含两个整数x和c 阅读全文
posted @ 2022-09-20 13:36 yc-limitless
二分查找-浮点数二分
摘要:题目1:数的三次方根 给定一个浮点数n,求它的三次方根。 输入格式 共一行,包含一个浮点数n。 输出格式 共一行,包含一个浮点数,表示问题的解。 注意,结果保留6位小数。 输入样例: 1000.00 输出样例: 10.000000 代码 #include<iostream> #include<iom 阅读全文
posted @ 2022-09-20 12:33 yc-limitless
进制转换-二进制中1的个数
摘要:题目1:二进制中1的个数 给定一个长度为n的数列,请你求出数列中每个数的二进制表示中1的个数。 输入格式 第一行包含整数n。 第二行包含n个整数,表示整个数列。 输出格式 共一行,包含n个整数,其中的第i个数表示数列中的第i个数的二进制表示中1的个数。 输入样例: 5 1 2 3 4 5 输出样例: 阅读全文
posted @ 2022-09-20 09:30 yc-limitless
二分查找1-整数二分
摘要:二分查找的关键:有序数组 题目1:数的范围 给定一个按照升序排列的长度为n的整数数组,以及q个查询。对于每个查询,返回一个元素k的起始位置和终止位置(位置从0开始计数)。如果数组中不存在该元素,则返回-1,-1 输入格式 第一行包含整数n和q,表示数组长度和询问个数。 第二行包含n个整数,表示完整数 阅读全文
posted @ 2022-09-20 09:07 yc-limitless
分治法4-逆序对的数量
摘要:题目4:逆序对的数量 给定一个长度为n的整数数列,以及一个整数k,请用快速选择算法求出数列从小到大排序后的第k个数。 输入格式 第一行包含两个整数n和k。 第二行包含n个整数,表示整数数列。 输出格式 输出一个整数,表示数列的第k小数。 输入样例: 6 2 3 4 5 6 1 输出样例: 5 代码: 阅读全文
posted @ 2022-09-19 18:00 yc-limitless
分治法3-第k小的数
摘要:题目3:第k小的数 给定一个长度为n的整数数列,以及一个整数k,请用快速选择算法求出数列从小到大排序后的第k个数。 输入格式 第一行包含两个整数n和k。 第二行包含n个整数,表示整数数列。 输出格式 输出一个整数,表示数列的第k小数。 数据范围 1≤n≤100000 1≤k≤n 输入样例: 5 3 阅读全文
posted @ 2022-09-19 17:29 yc-limitless
分治法2-快速排序
摘要:题目2:快速排序 给定你一个长度为n的整数数列。请你使用快速排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。 输入格式 输入共两行,第一行包含整数n。 第二行包含n个整数,表示整个数列。 输出格式 输出共一行,包含n个整数,表示排好序的数列。 数据范围 1≤n≤100000 输入样例 阅读全文
posted @ 2022-09-19 17:11 yc-limitless
分治法-解题思路
摘要:解题思路: ①把当前问题分解为子问题A和子问题B ②递归地把子问题A分解为问题A1和子问题A,把子问题B分解为问题B1和问题B2 ③把子问题A的解和子问题B的解合并得到原问题的解 阅读全文
posted @ 2022-09-19 17:09 yc-limitless
分治法1-归并排序
摘要:题目1:归并排序 给定你一个长度为 n的整数数列。 请你使用归并排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 输入格式 输入共两行,第一行为整数 n。 第二行包含n个整数,表示整个数列。 输出格式 输出共一行,包含n个整数,表示排好序的数列。 数据范围 1&le;n&le;10 阅读全文
posted @ 2022-09-19 15:02 yc-limitless 阅读(20) 评论(0) 推荐(0)