
算法
岁月辰星
.NET研发工程师
展开
-
小白算法题 C语言解法(杭电OJ2023 ~ 2025)
杭电OJ 2023Problem Description假设一个班有n(n<=50)个学生,每人考m(m<=5)门课,求每个学生的平均成绩和每门课的平均成绩,并输出各科成绩均大于等于平均成绩的学生数量。Input输入数据有多个测试实例,每个测试实例的第一行包括两个整数n和m,分别表示学生数和课程数。然后是n行数据,每行包括m个整数(即:考试分数)。Output对于每个测试实例,输出3行数据,第一行包含n个数据,表示n个学生的平均成绩,结果保留两位小数;第二行包含m个数据,表示m门课的原创 2020-07-20 19:54:51 · 862 阅读 · 0 评论 -
小白算法题 (杭电OJ 2022)
海选女主角Problem Descriptionpotato老师虽然很喜欢教书,但是迫于生活压力,不得不想办法在业余时间挣点外快以养家糊口。“做什么比较挣钱呢?筛沙子没力气,看大门又不够帅…”potato老师很是无奈。“张艺谋比你还难看,现在多有钱呀,听说还要导演奥运开幕式呢!你为什么不去娱乐圈发展呢?”lwg在一旁出主意。嗯,也是,为了生存,就委屈点到娱乐圈混混吧,马上就拍一部激光电影《杭电记忆——回来我的爱》。说干就干,马上海选女主角(和老谋子学的,此举可以吸引媒体的眼球,呵呵),并且特别规原创 2020-07-16 21:28:16 · 261 阅读 · 0 评论 -
杭电OJ 2018
母牛的故事Problem Description有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?Input输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。n=0表示输入数据的结束,不做处理。Output对于每个测试实例,输出在第n年的时候母牛的数量。每个输出占一行。C语言AC代码#include<stdio.h>int main原创 2020-07-16 14:28:13 · 276 阅读 · 0 评论 -
分治法实例
分治法查找最大值和次大值//求解最大和次大元素算法#include <stdio.h>// 宏, 求两个数的最大值, 可用函数代替#define max(x,y) ((x)>(y)?(x):(y))// 宏, 求两个数的最小值, 可用函数代替#define min(x,y) ((x)<(y)?(x):(y))// 可根据需要修改INF值#define ...原创 2020-07-16 14:30:43 · 720 阅读 · 0 评论 -
分治法概述
分治法的设计思想对于一个规模为n的问题:若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模娇小的子问题,这鞋子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并到原问题的解。这种算法设计策略叫分治法适用分治法的问题的特征(1)该问题的规模缩小到一定的成都就可以容易地解决。(2)该问题可以分解为若干个规模较小的相同问题。(3)利用该问题分...原创 2020-07-16 14:30:15 · 571 阅读 · 0 评论 -
递归算法转化为非递归算法
(1)直接用循环结构的算法替代递归算法(直接转化法,不需要使用栈)(2)用栈模拟系统的运行过程,通过分析只保存必须保存的信息,从而用非递归方法替代递归算法。(间接转化法,需要使用栈)用循环结构替代递归过程:采用循环结构消除递归这种直接转化法没有通用的转换算法,对于具体问题要深入分析对应的递归结构,设计有效的循环语句进行递归到非递归的转换。直接转化法特别适合于尾递归。尾递归只有一个递归调用语...原创 2020-07-16 14:30:32 · 7846 阅读 · 1 评论 -
算法分析之递归算法
以选择排序为例选择排序的思路就是找最小排在最前面。问题分析:设f(a,n,i+1)用于对a(i…n-1)元素序列(共n-i-1个元素)进行简单选择排序,是“大问题”。f(a,n,i+1)用于对a[i+1…n-1]元素序列(共n-i-1个元素)进行简单选择排序,是“小问题”。当i=n-1时所有元素有序,算法结束。递归模型:当i=n-1; f(a,n,i)=不做任何事情,算...原创 2020-07-16 14:30:00 · 378 阅读 · 0 评论