NWU_ACM校赛题解+总结

本文是作者参加ACM校赛后的题解与感悟,涉及多种算法题目,如凸包、最短路径、博弈论等。作者在比赛中遇到了C语言基础题、后缀数组、双最长上升子序列等挑战,并对部分难题如二维区间最大值、K-Fibonacci数列进行了探讨。通过比赛,作者认识到自身在算法和知识上的不足,决定继续努力学习。
摘要由CSDN通过智能技术生成

第一次参与ACM校赛的举办,紧张、激动又劳累。我本人主要负责PC2的搭建,具体搭配细节,请见另一篇博文:
虽然没有参加热身赛,但是在正式赛中还是作为普通选手参赛见识到了各个大佬的威力。本次比赛共5个小时,有16道题,包括三道C语言基础题和13道难度与区域赛相近的题。

A.模拟(C语言题)
题意:给流程图,模拟流程
题解:按照流程图的格式规范写循环或分支语句即可。
PS:题干描述不是很准确,导致了整场比赛唯一的一个wa,伐开心~

B.凸包
题意:给定n个vi和wi,找出存在v i ∗ cos(x) − w i ∗ sin(x) > v ∗ cos(x) − w ∗ sin(x)v i ∗ sin(x) + w i ∗ cos(x)>v ∗ sin(x) + w ∗ cos(x)的所有vi和wi。
题解:

/* 出题大佬的题解,先码着,日后再看 */
题目中所说的美味度和好看度,很容易想到在一个平面上用一个坐标表示一个点,所以可以先将每一个食物都看成一个点。其次,观察旋转的公式发现,旋转餐桌的操作就相当于是将一个点绕原点旋转。我们再来看一下题目中对点的要求:
1、存在某个时刻,其某个方向存在最值;
2、在此时刻,没有其它点和它在此方向上坐标相同。
在这两个条件的限制下,我们会发现,当一个点处在一个凸多边形内部时,它第一个条件永远无法达到,而它在凸多边形某一边上且非顶点时,第二个条件也永远无法达到。所以我们要求的点就是在凸多边形的顶点上,于是对这

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值