杭电2014-2020总结

昨天天气不太好,一整天都没有阳光,导致我的心情也有点郁闷,没有把昨天本该做的题做完,该写的博客写完,就把任务拖到了今天了。

2014:本题需要用到累加和遍历求极值的技巧。用大一时王SIR的话说,就是开设一个“擂台”,遍历一遍数据,谁最“极”的,谁就登上擂台。如果要求记录极值的位置,还需要在开设一个记录数据在数组中的位置的“擂台”。

2015:昨天提交过,但是WA了,今天调式才发觉是输出的表达式搞错了。原因就是把总数当做平均数来输出了。

本题的关键就是要把整个程序分成两部分,一部分是输出完整的m个一组的平均数,另外一部分就是输出余下的r项(如果有的话)的平均数。

本题还是使用了isOut变量来判断是否已经输出了第一个值,以此来判断要不要在输出的变量前输出空格。

2016:本题只需要求出最小值及其位置和交换两个变量的技巧,我把最小值的“擂台”初始化为0x7fffffff,也就是int中的最大值。

2017:使用遍历和计数器就可以解决。

2018:斐波那契数列的变种,用打表法解决。

2019:首先把a[n]赋为x,保证x一定会停下来。然后从0开始遍历数组,在第一个大于x的变量那里停下来。

2020:本题使用了qsort(a,n,sizeof(int),comp)函数,需要定义comp(const void *a,const void *b)函数,当comp返回大于0的数时,表明(a,b)是逆序。

在本题中,当abs(a)<abs(b),则(a,b)为逆序。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值