关注
python
我不是学计算机的,对算法不是很熟,打字也很慢,时间不够,第二题当时差点写完,多个十分钟多好。各位大佬看看我写的对嘛。
问题一:化简后是N*N!/a!/b!/c!/d!,不知道为什么只过了80%。
import math
inp = input().split()
N = int(inp[0])
a = int(inp[1])
b = int(inp[2])
c = int(inp[3])
d = int(inp[4])
value=math.factorial(N**2)/math.factorial(a)/math.factorial(b)/math.factorial(c)/math.factorial(d)%998244353
print(int(value))
问题二:第二题动态规划,大问题化成小问题,可惜最后没来得及写完。
基本思路是:去掉子节点开始的路线后的森林数=父节点开始的路线构成的森林数目(去掉所有他的子节点构成的树)+兄弟节点个数。所以只需要每个节点算两个值的和就行了,从根节点开始求出所有节点的森林数(根节点由于没有父节点所以是0),2号父节点只有1,而1有两个子节点,所以从2开始的森林数是1。我不是学计算机的,对数据结构不是很了解,不会写树的结构,就偷懒用列表来存储相关参数。大佬们看看有没有错误。
s = input().split()
num = int(s[0])
m = [[0, 0] for _ in range(num + 1)]
count = [0 for _ in range(num + 1)]
while True:
line = input().split()
if len(line) < 1:
break
int_line = [int(j) for j in line]
m[int_line[0]][1] += 1
m[int_line[1]][0] = int_line[0]
for i in range(2, num + 1):
count[i] = count[m[i][0]] + m[m[i][0]][1] - 1
print(max(count))
查看原帖
点赞 2
相关推荐
03-17 15:50
深圳大学 测试工程师 点赞 评论 收藏
分享
03-18 15:01
清华大学 算法工程师 Rain_Codin...:看了半天讲 mini max 有多好,还以为自己也有机会了,划上去一看:清华爷......
MiniMax成长空间 42人发布 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 跟HR说什么能被秒回? #
11643次浏览 200人参与
# 校招笔试 #
452289次浏览 2894人参与
# 巨人网络春招 #
10544次浏览 164人参与
# 你收到了哪些公司的笔试? #
23149次浏览 125人参与
# 小米笔试 #
141605次浏览 1006人参与
# 春招/暑实第一面是哪家? #
24041次浏览 252人参与
# MiniMax求职进展汇总 #
18022次浏览 253人参与
# 网易游戏笔试 #
4741次浏览 63人参与
# 网易笔试 #
150314次浏览 787人参与
# 视觉/交互/设计百问百答 #
76580次浏览 460人参与
# 职能管理面试记录 #
9676次浏览 48人参与
# OPPO笔试 #
21694次浏览 98人参与
# 把自己当AI,现在最消耗你token的问题是什么? #
4158次浏览 110人参与
# 如何一边实习一边找下家? #
36027次浏览 267人参与
# 面试官最爱问的 AI 问题是...... #
19918次浏览 654人参与
# 现在入门AI应该走哪些方向? #
5777次浏览 110人参与
# 你的嫡系AI是哪个? #
5432次浏览 129人参与
# 第一次面试 #
1098892次浏览 13838人参与
# 正在春招的你,也参与了去年秋招吗? #
360203次浏览 2618人参与
# 听到哪句话就代表面试稳了or挂了? #
254558次浏览 1707人参与
# 秋招被确诊为…… #
296908次浏览 1608人参与
# 总结:哪家公司面试体验感最差 #
105237次浏览 466人参与

