
基础算法
文章平均质量分 79
贪心,递推,递归,二分,高精度,排序,前缀和,差分,STL
ysyzxj-hua
志在分享信息学竞赛从入门到省选的基础知识,为广大信息学爱好者送福利!!!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
12-STL+位运算+离散化+中位数+链表
1、set,去重 AcWing 1610. 朋友数 如果两个整数各位数字的和是一样的,则被称为是“朋友数”,而那个公共的和就是它们的“朋友证号”。 例如 123和 51 就是朋友数,因为 1+2+3=5+1=6,而 6就是它们的朋友证号。 给定一些整数,要求你统计一下它们中有多少个不同的朋友证号。 【输入格式】 输入第一行给出正整数 N。 随后一行给出 N个正整数,数字间以空格分隔。 【输出格式】 首先第一行输出给定数字中不同的朋友证号的个数; 随后一行按递增顺序输出这些朋友证号,数字间原创 2021-10-21 11:36:48 · 166 阅读 · 0 评论 -
01-高精度
01-高精度 1、高精加高精 1168:大整数加法 【题目描述】 求两个不超过200位的非负整数的和。 【输入】 有两行,每行是一个不超过200位的非负整数,可能有多余的前导0。 【输出】 一行,即相加后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。 【输入样例】 22222222222222222222 33333333333333333333 【输出样例】 55555555555555555555 <代码> #include&原创 2021-10-15 12:31:54 · 90 阅读 · 0 评论 -
02-递推
1、简单递推 1188:菲波那契数列(2) 【题目描述】 菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。 给出一个正整数a,要求菲波那契数列中第a个数对1000取模的结果是多少。 【输入】 第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(1 <= a <= 1000000)。 【输出】 n行,每行输出对应一个输入。输出应是一个正整数,为菲波那契数列中第a个数对1000取模得到的结果。 【输入样例】原创 2021-10-15 12:46:25 · 167 阅读 · 0 评论 -
03-贪心
1、简单贪心 1319:【例6.1】排队接水 【题目描述】 有n个人在一个水龙头前排队接水,假如每个人接水的时间为Ti,请编程找出这n个人排队的一种顺序,使得n个人的平均等待时间最小。 【输入】 共两行,第一行为n(1≤n≤1000);第二行分别表示第1个人到第n个人每人的接水时间T1,T2,…,Tn,每个数据之间有1个空格。 【输出】 有两行,第一行为一种排队顺序,即1到n的一种排列;第二行为这种排列方案下的平均等待时间(输出结果精确到小数点后两位)。 【输入样例】 10...原创 2021-10-15 15:35:01 · 200 阅读 · 0 评论 -
04-前缀和 差分
1、一维前缀和 AcWing 795. 前缀和 输入一个长度为 n的整数序列。 接下来再输入 m个询问,每个询问输入一对 l,r。 对于每个询问,输出原序列中从第 l个数到第 r个数的和。 【输入格式】 第一行包含两个整数 n和 m。 第二行包含 n个整数,表示整数数列。 接下来 m行,每行包含两个整数 l 和 r,表示一个询问的区间范围。 【输出格式】 共 m行,每行输出一个询问的结果。 数据范围 1≤l≤r≤n, 1≤n,m≤100000, −1000≤数列中元素的值≤100原创 2021-10-16 12:14:18 · 115 阅读 · 0 评论 -
06-排序
1、冒泡、选择、插入排序 1181:整数奇偶排序 【题目描述】 给定10个整数的序列,要求对其重新排序。排序要求: 1.奇数在前,偶数在后; 2.奇数按从大到小排序; 3.偶数按从小到大排序。 【输入】 输入一行,包含10个整数,彼此以一个空格分开,每个整数的范围是大于等于0,小于等于30000。 【输出】 按照要求排序后输出一行,包含排序后的10个整数,数与数之间以一个空格分开。 【输入样例】 4 7 3 13 11 12 0 47 34 98 【输出样例】 47 13 11原创 2021-10-16 12:27:11 · 1059 阅读 · 0 评论 -
05-递归
1、简单递归+记忆化 1204:爬楼梯 【题目描述】 树老师爬楼梯,他可以每次走1级或者2级,输入楼梯的级数,求不同的走法数。 例如:楼梯一共有3级,他可以每次都走一级,或者第一次走一级,第二次走两级,也可以第一次走两级,第二次走一级,一共3种方法。 【输入】 输入包含若干行,每行包含一个正整数N,代表楼梯级数,1≤N≤30。 【输出】 不同的走法数,每一行输入对应一行输出。 【输入样例】 5 8 10 【输出样例】 8 34 89 <代码1>递归 #inc原创 2021-10-16 12:22:15 · 666 阅读 · 0 评论 -
07-二分
1、递归之分治 1325:【例7.4】 循环比赛日程表 【题目描述】 设有N个选手进行循环比赛,其中N=2M,要求每名选手要与其他N−1名选手都赛一次,每名选手每天比赛一次,循环赛共进行N−1天,要求每天没有选手轮空。 【输入】 输入:M。 【输出】 输出:表格形式的比赛安排表。一行各数据间用一个空格隔开。 【输入样例】 3 【输出样例】 1 2 3 4 5 6 7 8 2 1 4 3 6 5 8 7 3 4 1 2 7 8 5 6 4 3 2 1 8 7 6 5 5 6 7原创 2021-10-16 16:40:12 · 102 阅读 · 0 评论