CSDN竞赛第18期题解


考试报告下载又是空白,我已经不想再说这个问题了。。反馈也没有人理。
so,这篇没有代码。。

第一题

题目描述

题目名称:单链表排序
单链表的节点定义如下(C++): class Node { public: int element; Node * next; } 实现如下函数:Node * sort(Node * head),排序以 head 为头结点的单链表,返回排序后列表的 head 节点;只能修改 next 指针,要求时间 复杂度和空间复杂度尽可能优化 。

题解

模板不写跟链表毫无关系,那出这种题目有什么意义呢?
直接视作数组即可。

复杂度分析

显然,快排。

第二题

题目描述

题目名称:合并二叉树
已知两颗二叉树,将它们合并成一颗二叉树。合并规则是:都存在的结点,就将结点值加起来,否则空的位置就由另一个树的结点来代替。
例如:两颗二叉树是: Tree 1 1 / 3 2 / 5 Tree 2 2 / 1 3 4 7 合并后的树为 3 / 4 5 / 5 4 7

题解

模板和树没有丝毫关系,并且给出的结构是层序遍历。这明显直接对位相加就行了啊,这题出的,我很无语。

复杂度分析

遍历一遍即可。

第三题

题目描述

题目名称:n边形划分
已知存在 n 多边形,连接多边形所有对角线,能形成多少区域。

题解

( n − 1 ) ( n − 2 ) ( n 2 − 3 n + 12 ) / 24 (n-1)(n-2)(n^2-3n+12)/24 (n1)(n2)(n23n+12)/24
公式没啥好说的,数学题。

复杂度分析

时间复杂度为 O ( 1 ) O(1) O(1)

第四题

题目描述

题目名称:开心的金明
金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过 N 元钱就行”。今天一早金明就开始做预算,但是他想买的东西太多了,肯定会超过妈妈限定的 N 元。于是,他把每件物品规定了一个重要度,分为5等:用整数1−5表示,第5等最重要。他还从因特网上查到了每件物品的价格(都是整数元)。他希望在不超过 N 元(可以等于 N 元)的前提下,使每件物品的价格与重要度的乘积的总和最大。

题解

01背包,洛谷原题。

总结

题目与模板质量不提升的话,这竞赛价值只能说很小。
总之,我并不认为竞赛频率比竞赛质量更重要。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值