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)
相关推荐
m0_602857761 天前
如何提升SQL存储过程逻辑复用_封装通用存储过程函数
jvm·数据库·python
Rabitebla1 天前
【C++】string 类:原理、踩坑与对象语义
linux·c语言·数据结构·c++·算法·github·学习方法
小雅痞1 天前
[Java][Leetcode middle] 167. 两数之和 II - 输入有序数组
java·算法·leetcode
傻啦嘿哟1 天前
如何在 Python 中使用 colorama 库来给输出添加颜色
开发语言·python
CN-Dust1 天前
【C++】输入cin例题专题
java·c++·算法
forEverPlume1 天前
mysql如何实现高可用集群架构_基于MHA环境搭建与部署
jvm·数据库·python
数模竞赛Paid answer1 天前
2025年MathorCup数学建模A题汽车风阻预测解题文档与程序
算法·数学建模·mathorcup
方安乐1 天前
python之向量、向量和、向量点积
开发语言·python·numpy
zh1570231 天前
JavaScript中WorkerThreads解决服务端计算瓶颈
jvm·数据库·python
Old Uncle Tom1 天前
OpenClaw 记忆系统 -- 记忆预加载
java·数据结构·算法·agent