2018年台州学院“云豆杯”第十一届大学生程序设计竞赛-热身赛解题报告

2018年台州学院“云豆杯”第十一届大学生程序设计竞赛-热身赛-题解-by zhouzexi

A:学习or游戏

计输入的字符串game和study的个数哪个多。描述里的程序是后台生成数据的程序,在描述里写明了只能在linux下运行。

B:学习之签到

签到题,for循环输入直接输出。

C:学习之正确率

统计ac个数K,非(Waiting或者Judging或者System Error)的数目M,输出K/M(根据题目取整) 注意:m有可能为0,会导致RE。

D:学习之一个等式

素数测试(Miller-Rabin测试),题目里公式为威尔逊定理的变形。

E:游戏之消除

这题看数据范围就可以知道n^2枚举肯定超时,那么我们可以采取O(N),前面递减最小的数作为第一个数,然后以第一个数选取第二个数,以此类推,直到选取到第五个数字为止。

1.png

F:学习之子序列

枚举所有公共子序列,然后去重。

G:小伍的字符串难题

2.png

感谢Esquecer的题解

H:学习之数列

10000*10000的数组是肯定MLE的,这题数据保证了输出结果在int64范围内,首先题目输入的数列只是说明是等差序列,并没有排好序,所以我们计算d应该是数列的最大值减去最小值,而数列的和也应该是(最大值+最小值)*n/2,然后第二个输出是原样输出,所以需要将最大的数列保存下来

I:生日礼物

定义:从n个不同元素中不重复地取出m(1≤m≤n)个元素在一个圆周上,叫做这n个不同元素的圆排列。如果一个m-圆排列旋转可以得到另一个m-圆排列,则认为这两个圆排列相同。(来自百度百科),这里说明了旋转是属于同一个序列,而翻转不属于同一序列。所以1 2 3 和1 3 2 属于不同的方案,在刚刚的百度百科里有计算公式如下,所以此题的输出结果为(n-1)!-1(在这里提醒一下我们平台64位输出是int64,而不是longlong)。

3.png

J:四大湖问题

暴力枚举所有方案(这题是原题,可以百度搜索)

K:City's 跷跷板

一到简单的几何题,可以计算得点(x,y)坐标如下如下公式

x = (L*(r1+r2)*(r1-r2)) / (4*(r1*r1+r2*r2))

y = (r1+r2) / 4

注意输出结果为分数


大家不懂的,可以私聊我,或者群里问。


为解题报告打分
暂时不评分

★★
★★★
★★★★
★★★★★
发表您的评论(若贴AC代码或发表禁止言论等违禁行为将被删除并扣除积分)

|返回 |   | 转到页头|
Copyright @ 2008-2024(浙ICP备2022001332号), TZOJ. All Rights Reserved.