蓝桥杯3527阶乘的和 | 组合数学

写在前面的话

昨天的蓝桥杯每日一题 奇怪的数 用python写太难了,甚至题解的优化处理也只能得70分(后几个TLE了),但是C++写 不优化的6层for循环+后4位复用 可以直接过。(雾)

题目传送门


这个题目的思路是对Ai排序后,记录每个Ai出现的次数dic[Ai]。显然最小的A0满足m。每次遍历dic,如果m对应的Ai出现的次数是Ai+1的倍数,那么将其并入dic[Ai+1],同时m++。当m无法满足次数的倍数关系时m值即为所求。


python 复制代码
from collections import defaultdict
n = int(input())
ai = list(map(int, input().split()))
ai.sort()
m = ai[0]
dic = defaultdict(int)	# 因为python的dict()不支持类似C++中map的运算操作,所以引入defaultdict

for it in ai:
    dic[it] += 1

while True:
    x = dic[m]
    if x %(m + 1) != 0:
        break
    dic[m+1] += x//(m+1)
    m += 1

print(m)

END✨


相关推荐
Swift社区12 分钟前
LeetCode 443. 压缩字符串
leetcode·职场和发展·蓝桥杯
ada7_14 分钟前
LeetCode(python)——543.二叉树的直径
数据结构·python·算法·leetcode·职场和发展
小白学大数据20 分钟前
Python 多线程爬取社交媒体品牌反馈数据
开发语言·python·媒体
HAPPY酷31 分钟前
压缩文件格式实战速查表 (纯文本版)
python
祝余Eleanor1 小时前
Day 31 类的定义和方法
开发语言·人工智能·python·机器学习
背心2块钱包邮1 小时前
第6节——微积分基本定理(Fundamental Theorem of Calculus,FTC)
人工智能·python·机器学习·matplotlib
larance1 小时前
修改jupyterlab 默认路径
python
别叫我->学废了->lol在线等1 小时前
python单例模式下线程安全优化
python·安全·单例模式
西江649761 小时前
【个人博客系统—测试报告】
python·功能测试·jmeter·pycharm·postman
CHANG_THE_WORLD2 小时前
C++ vs Python 参数传递方式对比
java·c++·python