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)
相关推荐
liuyao_xianhui1 小时前
优选算法_判断字符是否唯一_C++
java·开发语言·数据结构·c++·算法·链表
Barkamin1 小时前
希尔排序的简单实现
数据结构·算法·排序算法
Eward-an1 小时前
CKA/CKS认证通关复盘:实验环境搭建避坑指南,版本雷区+高效练习全解析
算法
no_work2 小时前
python-深度学习快速入门实战-数据集和源码
开发语言·人工智能·python·深度学习·神经网络·cnn
MoRanzhi12032 小时前
一维概率分布可视化实践:基于 Python 的理论曲线与样本图对照
python·概率论·matplotlib·seaborn·scipy·统计学·概率分布可视化
Flying pigs~~2 小时前
自然语言处理(NLP)开胃小菜
人工智能·算法·自然语言处理·大模型·文本分析处理
Yupureki2 小时前
《C++实战项目-高并发内存池》7.大块内存的申请与释放
服务器·c语言·开发语言·c++·算法·哈希算法
jay神2 小时前
基于深度学习的人脸检测与识别系统
人工智能·python·深度学习·可视化·计算机毕业设计
2401_889884662 小时前
模板代码模块化设计
开发语言·c++·算法