算法笔记

以下是为您整理出来关于【算法笔记】合集内容,如果觉得还不错,请帮忙转发推荐。

【算法笔记】技术教程文章

【算法笔记第6.9节 algorithm 】问题 B: 全排列

题目描述 给定一个由不同的小写字母组成的字符串,输出这个字符串的所有全排列。我们假设对于小写字母有a < b < ... < y < z,而且给定的字符串中的字母已经按照从小到大的顺序排列。 输入 输入只有一行,是一个由不同的小写字母组成的字符串,已知字符串的长度在1到6之间。 输出 输出这个字符串的所有排列方式,每行一个排列。要求字母序比较小的排列在前面。字母序如下定义:已知S = s1s2...sk , T = t1t2...tk,则S < T 等价于,...

【算法笔记第6.8节 pair 】问题 A: 重心在哪里【代码】

题目描述 每个人都知道牛顿发现万有引力的故事。自从牛顿发现万有引力后,人们用万有引力理论解决了非常多的问题。不仅如此,我们也知道了每个物体都有自己的重心。 现在,给你三角形三个顶点的坐标,你能计算出三角形的重心吗? 输入 题目包含多组测试数据。第一行输入一个正整数n,表示测试数据的个数,当n=0时,输入结束。 接下来n行,每行包含6个数字x1,y1,x2,y2,x3,y3,表示三角形三个顶点的坐标。 输出 对于每组输入,输...

【算法笔记第6.5节 queue 】问题 A: C语言-数字交换【代码】

题目描述 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。 输入 10个整数 输出 整理后的十个数,每个数后跟一个空格(注意最后一个数后也有空格) 样例输入2 1 3 4 5 6 7 8 10 9 样例输出1 2 3 4 5 6 7 8 9 10 进行交换时,若最大值在a[0],最小值在a[9],两次交换相当于不变。故在进行其中一个交换时,要考虑,另一个的位置会不会随着变化 。 例...

【算法笔记第6.6节 priority_queue 】问题 A: 任务调度(有点难)【代码】

问题 A: 任务调度 时间限制: 1 Sec 内存限制: 32 MB 提交: 102 解决: 72 [提交][状态][讨论版][命题人:外部导入] 题目描述 读入任务调度序列,输出n个任务适合的一种调度方式。 输入 输入包含多组测试数据。 每组第一行输入一个整数n(n<100000),表示有n个任务。 接下来n行,每行第一个表示前序任务,括号中的任务为若干个后序任务,表示只有在前序任务完成的情况下,后序任务才能开始。若后序为NULL则表示无后继任务。 输出 输...

【算法笔记】B1012 数字分类【代码】

1012?数字分类?(20 分)给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:A?1?? = 能被 5 整除的数字中所有偶数的和; A?2?? = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n?1???n?2??+n?3???n?4???; A?3?? = 被 5 除后余 2 的数字的个数; A?4?? = 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位; A?5?? = 被 5 除后余 4 的数字中最大数字。输入格式: 每个输入包含 1 个测试用例。每个测试用...

【算法笔记】B1010 一元多项式求导【代码】

1010?一元多项式求导?(25 分)设计函数求一元多项式的导数。(注:x?n??(n为整数)的一阶导数为nx?n?1??。) 输入格式: 以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。 输出格式: 以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0。 输入样例: 3 4 -5 2 6 1 -2 0输出样例: 1...

【算法笔记】B1011 A+B 和 C【代码】

1011?A+B 和 C?(15 分)给定区间 [?2?31??,2?31??] 内的 3 个整数 A、B 和 C,请判断 A+B 是否大于 C。 输入格式: 输入第 1 行给出正整数 T (≤10),是测试用例的个数。随后给出 T 组测试用例,每组占一行,顺序给出 A、B 和 C。整数间以空格分隔。 输出格式: 对每组测试用例,在一行中输出 Case #X: true 如果 A+B>C,否则输出 Case #X: false,其中 X 是测试用例的编号(从 1 开始)。 输入样例: 4 1 2 3 2 3 4 2147483647 0...

算法笔记B1006.换个格式输出整数【代码】

1006 换个格式输出整数 (15 分) 让我们用字母 B 来表示“百”、字母 S 表示“十”,用 12…n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3 位的正整数。例如 234 应该被输出为 BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。 输入格式: 每个测试输入包含 1 个测试用例,给出正整数 n(<1000)。 输出格式: 每个测试用例的输出占一行,用规定的格式输出 n。 输入样例 1: 234 输出样例 1: BB...

算法笔记 Codeup最长回文子串【代码】

问题 A: 【字符串】最长回文子串 时间限制: 1 Sec 内存限制: 128 MB 提交: 192 解决: 92 [提交][状态][讨论版][命题人:外部导入] 题目描述 输入一个字符串,求出其中最长的回文子串。子串的含义是:在原串中连续出现的字符串片段。回文的含义是:正着看和倒着看相同。如abba和yyxyy。在判断回文时,应该忽略所有标点符号和空格,且忽略大小写,但输出应保持原样(在回文串的首部和尾部不要输出多余字符)。输入字符串长度不超过5...

【算法笔记4.3小节-递归】概念,递归求全排列【图】

分治(divide and conquer)全称“分而治之”, 分治法作为一种算法思想,既可以使用递归的手段去实现,也可以通过非递归的手段去实现。 递归 递归边界和递归式构成。//求n的阶乘 #include<stdio.h> #include<string.h> #include<algorithm> using namespace std; int f(int n) {if(n==0) return 1; //当到达递归边界f(0)时,返回f(0)==1else return f(n-1) * n; } int main() {int n;scanf("%d",&n);printf("%d\n",f(n));...