2024年acm基础题java输入输出

acm基础题java输入输出acwing 周赛复盘 第 60 场周赛 一 本周周赛总结 二 4494 吃饭 1 题目描述 2 思路分析 3 代码实现 三 4495 数组操作 1 题目描述 2 思路分析 3 代码实现 四 4496 吃水果 1 题目描述 2 思路分析 3 代码实现 六 参考链接 acm 基础题 java 输入输出 一 本周周赛总结 第一次打 acwing 一共三题

大家好,我是讯享网,很高兴认识大家。



[acwing周赛复盘] 第 60 场周赛

一、本周周赛总结

二、 4494. 吃饭

  • 1. 题目描述
  • 2. 思路分析
  • 3. 代码实现
  • 三、4495. 数组操作
  • 1. 题目描述
  • 2. 思路分析
  • 3. 代码实现
  • 四、4496. 吃水果
  • 1. 题目描述
  • 2. 思路分析
  • 3. 代码实现
  • 六、参考链接

acm基础题java输入输出

一、本周周赛总结

  • 第一次打acwing,一共三题,难度跳跃挺大。
  • acwing python竟然不支持from math import comb,震惊!还得自己实现。

二、 4494. 吃饭

链接: 4494. 吃饭

1. 题目描述

acm 比赛用python_acm 比赛用python

2. 思路分析

定级Easy。 签到题,明显只要m和k同时大于等于n即可。

3. 代码实现

三、4495. 数组操作

链接: 4495. 数组操作

1. 题目描述

acm 比赛用python_算法_02

2. 思路分析

还挺难的,主要我差分没怎么学过,当场研究。

  • 由于要找最小数,我们可以把a排序,最左边的非0数就是每次的答案。
  • 但是每次又要对数组中所有非0数据减去一个数值,这种区间操作就想到了是否可以lazy,只记录最前边的值,然后联想到这就是差分的方法。
  • a排序后建立差分数组diff,diff[0]=a[0],其它位置都代表a[i]比前一位置大几。
  • 那么我们只需要diff中找到第一个非0元素x,由于x前边一定是0,因此a[i]=diff[i],也就是第一次操作的答案x。
  • 同时后边的数的都要减去x,让diff[i]=0即可。
  • 后续答案继续找第一个非0的数,如果找不到,返回0.

3. 代码实现

讯享网

四、4496. 吃水果

链接: 4496. 吃水果

1. 题目描述

acm 比赛用python_差分_03

2. 思路分析

组合数学。

  • 题意说忽略最左边的小朋友,但是他可以选m种水果,先把ans初始化成m。
  • 然后在除了排头的位置,选k个位置变水果种类,C(n-1,k)种选法。
  • 每次变水果,有m-1种方法,(m-1)^k。
  • 最烦的是acwing python3竟然不能引入math.comb,因此要自己写组合数公式

3. 代码实现

 

六、参考链接

小讯
上一篇 2024-12-26 18:44
下一篇 2024-12-27 14:20

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/8245.html