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)
相关推荐
Chen_harmony2 分钟前
二、顺序表
数据结构
「維他檸檬茶」5 分钟前
大模型算法学习2026.6.13
学习·算法
叫我:松哥9 分钟前
基于Python的共享单车租赁数据分析与预测系统,技术栈flask+boostrap+随机森林+XGBoost
人工智能·python·深度学习·算法·随机森林·数据分析·flask
Li#18 分钟前
web端电商项目自动下单发货评价晒图需要用到的能力
python·自动化
BAGAE21 分钟前
星链卫星数据获取:从太空安全到实时通信的技术革命
网络·数据结构·数据库·算法·云计算·hbase
happymaker062625 分钟前
LeetCodeHor100——438.找到字符串中所有的字母异位词
算法
西安邮电大学31 分钟前
有关栈的经典算法题
java·后端·其他·算法·面试
雨辰AI38 分钟前
从零搭建大模型本地运行环境|Python+CUDA 基础配置避坑大全
大数据·开发语言·人工智能·python·ai·ai编程·ai写作
h_a_o777oah42 分钟前
【算法专项】扩展域并查集:原理详解及解决大部分种类并查集问题(洛谷P5937 P2024 C++代码)
数据结构·c++·算法·acm·并查集·扩展域·逻辑建模
DogDaoDao1 小时前
【第 05 篇】Python的字典与集合
开发语言·python·集合·字典