【题解】2019年湘潭大学新生趣味程序设计竞赛

A、 15 and 20

  • 图片说明 猜拳游戏的模拟
  • 把四个数加起来,判断一下即可

B、 显示器

  • 求给定比例的最大分辨率
  • 直接求横纵的最小倍数,取最小的;
  • 也可以枚举倍数

C、 Sequence

  • ,已知 图片说明 , 求 图片说明
  • 手工枚举一下,可以发现循环节长为图片说明

D、 Carrot

  • 图片说明 个奇数,图片说明 分成两个集合,使得集合累加和的差值最小
  • 结论:图片说明 , 差值为图片说明 ; 其他, 差值为 图片说明
  • 证明:
    • 连续四个奇数为图片说明 分成两组图片说明 , 差值为图片说明 。所以,当图片说明 , 结果为图片说明
    • 图片说明 时, 我们把图片说明 以外的所有数按连续图片说明 个进行分组,差值为图片说明 ,然后把图片说明 随便给某个集合,差值为图片说明 。由于图片说明 是奇数,所有奇数个奇数的和为奇数,所以分成两组,差值最小为图片说明 。所以,之前的构造为一个最小差值分组。
    • 图片说明 时,结果显然为图片说明 。其他图片说明 时,最小的图片说明 个数分为 , 差值为图片说明 。显然最后结果为图片说明
    • 图片说明 时,采用类似于第图片说明 步的构造和利用奇偶性,得到最小值为图片说明

E、 Cuboid

  • 长方体沿表面走对角的最短路径长度
  • 结论
  • 平面上,两点间直线最短
  • 将长方体展开,很容易得到以上结论。
    图片说明
    图片说明

F、 Order

  • 图片说明 个订单,求完成时间的最小累加和
  • 最优安排是按订单数从小到大安排生成
  • 反证
    • 假设一个最优安排中,存在 , 但是图片说明 。我们交换a_i a_j 的位置,得到一个新的安排。
    • 显然对于 图片说明 或者 图片说明 的订单,这种交换没有影响。
    • 对于 的订单,显然,其完成时间是小于或等于原有安排的。
    • 矛盾

G、 Ball

  • 一个球,从左上角弹出,弹几库到右下角?
  • 结论:图片说明图片说明 都为奇数时能弹到右下角,需要弹图片说明
    图片说明
    图片说明

H、 奇怪的回文子串

  • 构造一个长度为图片说明 的字符串,要求其中最长回文子串的长度处于 之间,且出现各种字符的次数不超过给定的限制。
  • 做法很多
    • 先构造一个类似于 的回文串,长度为x 。然后取其他字符填充成 的形式,然后再用这个子串按顺序填充成len 长的字符串 (雷智凯)
    • 先利用无限制字符,构造一个类似于 的串,然后随机产生后面的字符,要求随机出来的字符不超过限制,且不等于前1 和前2 个字符。 (谢勇)

I、 Line

  • 过矩形外一点画一条直线,分割矩形使得两边面积相等。
  • 结论: 取矩形的中点 和 给定点 画一条直线 即为所求。
  • 显然,由于对称性,所有过中点的直线必然平分矩形。
  • 注意:中点坐标需要除2 ,可能为小数,为此先把坐标都乘2 来处理。

J、 勾股定理

  • 给一个整数A ,求另外两个整数BC ,使其构成直角三角形
  • 构造的方法也很多
    • 图片说明
    • 不妨设 ,所以图片说明 必须为奇数,解得
    • 不妨设图片说明 ,所以图片说明 必须为偶数,解得图片说明

K、 BAD String

  • 交换一个串的两个字符以后,使得串不含 这个子串
  • 构造方法也很多
    • 统计BAD 的数量n ,显然每次交换最多破坏两个BAD 子串,所以当 时无解
    • 如果 , 交换成 ...AAD...BBD...
    • 如果 , 交换成 ...ABD...
    • 否则,随机交换两个字符,验证一下。
全部评论
1 回复 分享
发布于 2019-12-28 23:44
g题不对吧,两个相等的偶数边也可以啊
点赞 回复 分享
发布于 2019-12-31 07:43

相关推荐

12-02 14:27
Java
牛可乐121381:好的,谢谢你,韩明轩同学
点赞 评论 收藏
分享
评论
5
3
分享
牛客网
牛客企业服务