欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > python蓝桥杯刷题的重难点知识笔记

python蓝桥杯刷题的重难点知识笔记

2025/4/2 16:18:26 来源:https://blog.csdn.net/2401_87332612/article/details/146530406  浏览:    关键词:python蓝桥杯刷题的重难点知识笔记

1、datetime模块

  1. datetime.date:代表日期,包含年、月、日信息。
  2. datetime.time:代表时间,包含时、分、秒、微秒信息。
  3. datetime.datetime:结合了日期和时间,包含年、月、日、时、分、秒、微秒信息。
  4. datetime.timedelta:表示两个日期或时间之间的差值,可用于日期和时间的加减运算。
  5. if a.weekday()==0 or a.day==1::判断当前日期aa.weekday()返回 0 表示周一(0-6 分别对应周一到周日),a.day==1表示当月的 1 号。如果满足其中一个条件,说明当天小蓝跑 2 千米,将km增加 2。

2、典型的贪心算法

完整代码:

n = int(input())

shuju = []

q = []

ans = 0

for i in range(n):

  shuju.append(list(map(int,input().split(" "))))

  q.append((sum(shuju[i]),shuju[i][0]+shuju[i][1]))

shijian = 0

# 排序的时候先把整体三个时间加起来比较短的放在前面,其次是前两个加起来比较短的放在前面

for x in sorted(q):

  if shijian == 0: # 如果shijian是零,ans加上前两个之和,如果不是零,就加上前两个之和在加上shijian

    ans += x[1]

  else:

    ans += x[1]+shijian

  shijian += x[0] # 每循环一次。shijian就加上三个数之和,进入下一个人

print(ans)

核心思想:

其实在于我们让ans一直保持最小,举个例子就是比如a是12,b是20,如果算时间a完成的时间是12,b完成的时间是12+20=32,整体加起来就是44,但是我们换一个顺序,先b开始,b完成的时间是20,a是20+12=32,整体加起来就是52,顺序不一样导致最后时间也不一样,大家可以自己举一个三个数的例子

3、阶乘的和

完整代码:

n = input()

s = input().split( )

ss = list(map(int, s))

ss = sorted(ss)

# ss[0]一定是

result = ss[0]

count = 0

# 判断ss[0]+1是不是

test = result + 1

while(True):

  for i in ss:

    if i == result:

        count += 1

  if count % test == 0:

      count /= test

      result = test

      test += 1

  else:

      break

print(result)

核心思想:

比如3456的阶乘之和,求它满足阶乘的最大因数,首先3的阶乘一定是的,其次在看4,如果最小数有好几个,比如12个3的阶乘,那就是1*2*3*12,也就是3个4的阶乘,合并到次最小值,在观察次最小值的个数,重复以上操作,最后如果3的个数不是4的倍数,那就不能在往后计算了,break返回

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词