D25-蓝桥-贪心代码实现

今天突然有一个想法,为什么不尝试一下Cambridge呢!
于是去搜了一点点信息!!开心!加油!你可以的

今天先复习一下数学基础。

972 gcd

n = int(input())

def gcd(a,b):
    if b==0:
        return a
    return gcd(b,a%b)
for _ in range(n):
    a,b = map(int,input().split())
    print(gcd(a,b))

分解质因数

    a = int(input())
    i = 2
    # 别忘了等于号
    while i<=a//i:
        while a%i==0:
            a//=i
            dic[i]+=1
        i += 1
    # 别忘了还有一个可能大于根号a
    if x>1:
        dix[x] +=  1
    

约数个数

(1+a1)(1+a2)…(1+ak)

成功了嘿嘿!!!

from collections import defaultdict
mod = int(1e9+7)
n = int(input())
dic = defaultdict(int)

for _ in range(n):
    a = int(input())
    i = 2
    # 别忘了等于号
    while i<=a//i:
        while a%i==0:
            a//=i
            dic[i]+=1
        i += 1
    # 别忘了还有一个可能大于根号a
    if a>1:
        dic[a] +=  1
res=1
for val in dic.values():
    res = (res*(1+val))%mod
print(res)
    
        
            


约数之和

(1 + p1+p12…+p1a1)(…)

锲而不舍,金石可镂。
分解质因数部分没问题,还学会了用defaultdict。
对于多个数之积求约数之和,可以先一起统计质因数及其个数,最后一起计算。
约数个数应该也是一样的,可以写一下。

现在10:50
看完了6.1,还有一点5.1(线段树等代码部分没看完)先去吃饭和午休啦~~
下午继续!加油!
现在14:36,看完啦,不过线段树和树状数组考的比较少,不作为重点啦~
下一个腾讯会议,为晚上的会议记录做准备,顺便看看怎么做会议记录。

学了一下下,希望今天可以做好叭尽力吧!别忘了录像哦
准备做一下昨天卡的题,然后实现几道。
1241卡在了最后一个数据鹅鹅鹅。好吧。先过吧

1055

n = int(input())
a = list(map(int,input().split()))
res = 0
for i in range(1,n):
    if a[i]>a[i-1]:
        res += a[i]-a[i-1]
print(res)

104

别忘了加绝对值

n = int(input())
a = list(map(int,input().split()))
a.sort()
res = 0
for i in range(n):
    res += abs(a[i]-a[n//2])
print(res)

112

这题当时听课的时候听了个大概,头脑里的模型上是合并区间的模型,直接套用后发现不对。
仔细思考了一下,发现更新区间的方式需要变化,因为想让几个小岛共用一个雷达需要把雷达安装在一个区间内(这也就是我们更新的区间)所以更新的区间应为两端的交集。

# 这题当时听课的时候听了个大概,头脑里的模型上是合并区间的模型,直接套用后发现不对。
# 仔细思考了一下,发现更新区间的方式需要变化,因为想让几个小岛共用一个雷达需要把雷达安装在一个区间内(这也就是我们更新的区间)所以更新的区间应为两端的交集。

n,d = map(int,input().split())
g = []
for _ in range(n):
    x,y = map(int,input().split())
    if d<y:
        print('-1')
        exit()
    g.append([x-(d*d-y*y)**0.5,x+(d*d-y*y)**0.5])

g.sort(key = lambda x:x[1])
cur = []
for i in g:
    if not cur:
        cur.append(i)
    else:
        if i[0]<=cur[-1][1]:
            cur[-1][0] = max(cur[-1][0],i[0])
            cur[-1][1] = min(cur[-1][1],i[1])
        else:
            cur.append(i)
print(len(cur))

去跑步啦~想想要会议记录就有点紧张和激动,放在以前肯定抱怨不能学习,准备比赛了,自己真的成长了不少呢!!现在会感激参与会议和学习新东西的机会!

刚刚梳理完会议记录,好开心啊!!!希望能多帮老师分担一些!
通过参会,我也发现我们学院的老师都好厉害!!!我也要加油哦!
今天就先这样啦~~
去写日记啦~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值