AtCoder Beginner Contest 449

A - π

考点:模拟

思路:

按圆的面积公式计算即可。

复杂度:O(1)

python 复制代码
import sys
input=sys.stdin.readline
d=int(input())
pai=3.141592653589793
print(pai*((d/2)**2))

B - Deconstruct Chocolate

考点:模拟

思路:

按题意模拟输出即可。

复杂度:O(1)

python 复制代码
import sys
input=sys.stdin.readline
h,w,q=map(int,input().split())
hr=h
wr=w
for _ in range(q):
    n,m=map(int,input().split())
    
    if n==2:
        print(m*hr)
        wr-=m
        
    else:
        
        print(m*wr)
        hr-=m
        

C - Comfortable Distance

考点:贪心,二分

思路:

题目条件是:

所以我想到固定i,来枚举j的值,将条件变形为:

于是我们可以设

对这两边做两次二分,找出第一个大于等于left的数字和第一个大于right的数字,然后将两个数字想减就能得到当前字母的对数了。

最后累加求和即可。

复杂度:O(n)

python 复制代码
import sys
input=sys.stdin.readline
from bisect import bisect_left,bisect_right
n,l,r=map(int,input().split())
a=input().strip()
p=[[] for _ in range(26)]
for i in range(n):
    p[ord(a[i])-ord('a')].append(i)
ans=0
for i in range(n):
    L=l+i
    R=r+i
    b=p[ord(a[i])-ord('a')]
    x=bisect_left(b,L)
    y=bisect_right(b,R)
    ans+=y-x
print(ans)

D - Make Target 2

考点:贪心,数学

思路:

很明显我们不能真的去双循环枚举每个点判断是不是偶数。

于是我们可以想到固定x轴上的点,然后进行求y。这样对y进行分类讨论:

的时候:

我们取的是(原因在上面已经展开了)

的时候:

我们先统计整个的偶数个数,再减去刚刚中间部分的偶数个数。

最后将两部分的和相加就得到了最终答案。

复杂度:O(n)

python 复制代码
import sys
input=sys.stdin.readline
l,r,d,u=map(int,input().split())
def fdel(x,y):
    if x>y:
        return 0
    return y//2-(x-1)//2
s=0
for x in range(l,r+1):
    a=abs(x)
    left=max(d,-a+1)
    right=min(u,a-1)
    min_zj=0
    if left<=right and a%2==0:
        min_zj=right-left+1
    zt=fdel(d,u)
    zj=fdel(left,right)
    sy=zt-zj
    s+=sy+min_zj
print(s)
相关推荐
云水初几秒前
【agent篇】RAG 知识库构建避坑指南
开发语言·python·学习·agent·rag
Nil20828 分钟前
leetcode 48旋转图像
算法·leetcode·职场和发展
嘟嘟07171 小时前
顺时针螺旋填充 n×n 矩阵:手撕 generateMatrix 的四个 for 循环
javascript·算法·面试
Nil2081 小时前
leetcode 206反转链表
算法·leetcode·链表
qxqycb1 小时前
python一键反编译工具
python
Kstheme1 小时前
大模型内部是怎么运作的?从「一个神经元」拆到「残差流」
算法
郝学胜_神的一滴1 小时前
并查集深度入门:从玄学抽象到 QuickFind & QuickUnion 源码实战
数据结构·算法
weixin_BYSJ19871 小时前
springboot技能与工具共享小程序---附源码29657
java·javascript·spring boot·python·小程序·django·php
weixin_BYSJ19871 小时前
flask民族服饰饰品商城小程序---附源码37399
java·javascript·spring boot·python·小程序·django·php
GeekZHR1 小时前
C语言指针2:数组名、二级指针、指针数组,一次把“指针和数组“讲透
c语言·数据结构·算法·指针