当前位置: 首页 > news >正文

商业网站教程阿里云有主体新增网站

商业网站教程,阿里云有主体新增网站,寻找网站优化公司,邹平做网站哪家好去年(2024)的国赛场,前面六题意外地简单(洛谷黄题及以下), 后面四题较难,主要还是后面的题如何骗分吧 A 汉字田 简要题意:汉字"田"抽象成九个点,问一共有多少条直线恰好只经过这 99 个点中的任意两个点? 瞪眼法直接算就行了 print(12)B 床底取牌 简要…

去年(2024)的国赛场,前面六题意外地简单(洛谷黄题及以下), 后面四题较难,主要还是后面的题如何骗分吧

A 汉字田

简要题意:汉字"田"抽象成九个点,问一共有多少条直线恰好只经过这 99 个点中的任意两个点?

瞪眼法直接算就行了

print(12)

B 床底取牌

简要题意: 六种字母各有五张,拼成"lanqiao"最少需要取多少张

只需考虑最差情况 l,n,q,i,o都拿齐了,依旧组不成,还需2张a,答案就是27

print(27)

C 设置密码

简要题意: 按照要求判断是哪一种密码

需要注意的是密码可能包含要求之外的字符,要特判为0

special="~!@#$%^&*()_"
T=int(input())
for _ in range(T):s=input()n=len(s)f1,f2,f3,f4=0,0,0,0f5=set()flag=Truefor ch in s:if ch.isupper():f1=1elif ch.islower():f2=1elif ch.isdigit():f3=1elif ch in special:f4=1f5.add(ch)else:flag=Falsebreakif not flag:print(0)continueif n>=12 and ((f1+f2+f3+f4==4)or(len(f5)>=3 and f1+f2+f3+f4==3)):print(3)elif n>=8 and(f1+f2+f3+f4>=2):print(2)elif n>=6:print(1)else:print(0)

D 限流器

简要题意: 长度为N的区间最多让访问M次,求访问成功次数

用桶记录一下时间戳的次数,记录一下前缀和即可

n,m,l=map(int,input().split())
t=[0]*1005
a=list(map(int,input().split()))for x in a:t[x+1]+=1
for i in range(1,1002):t[i]+=t[i-1]
r=n
ans=0
while r<=1001:tmp=t[r]-t[r-n]ans+=min(tmp,m)r+=n
r-=n
if r!=1001:ans+=min(t[1001]-t[r],m)
print(ans)

E 特别的数组

简要题意: 删除中间一段,剩下的要组成特别的数组且长度最长

经典的 O ( n 2 ) O(n^2) O(n2)枚举无法通过,可以考虑枚举左,维护右,初始计算左边组成特别数组的 l l l,和右边组成特别数组的 r r r,在通过扩大 l l l的同时维护 r r r的位置,可以提前维护每个数最后出现的位置

n=int(input())
a=list(map(int,input().split()))
l,r=0,0
mx=max(a)
dp=[0]*(mx+5)
st=set()
for i in range(n-1,-1,-1):if a[i] in st:r=i+1breakst.add(a[i])
st.clear()
for i in range(n):if a[i] in st:l=i-1breakst.add(a[i])
for i in range(n):dp[a[i]]=i
ans=n-r
for i in range(min(l+1,r)):r=max(r,dp[a[i]]+1)ans=max(ans,i+1+n-r)
print(ans)

F记事本

牛客的一个原题,使用两个栈(对顶栈)模拟即可

t=int(input())
st1,st2=[],[]
for _ in range(t):s=input()if "insert" in s:ts=s.split(' ',maxsplit=1)[1][1:-1]for ch in ts:st1.append(ch)elif s[0]=='d':x=int(s[1:-1])if s[-1]=='h':for i in range(min(len(st1),x)):st1.pop()else:for i in range(min(len(st2),x)):st2.pop()else:x=int(s[0:-1])if s[-1]=='h':while st1 and x:tmp=st1.pop()st2.append(tmp)x-=1else:while st2 and x:tmp=st2.pop()st1.append(tmp)x-=1print(''.join(st1)+''.join(st2)[::-1])

G 羊圈

简要题意: 尽量用羊圈圈住羊,是最终跑走羊的数量的期望最少

使用状压dp,f(x,s) 表示从第x头羊开始考虑,羊圈二进制可选状态为s的最大值

最终答案是dp(1,(1<<n)-1)

n,m=map(int,input().split())
v=list(map(int,input().split()))
a=list(map(float,input().split()))
dp=[[-1]*(1<<n) for _ in range(m+2)]def f(x,s):if x==m+1:return 0if dp[x][s]!=-1:return dp[x][s]res=f(x+1,s)for j in range(n):if(s&(1<<j)):ns=s^(1<<j)nx=min(m+1,x+v[j])res=max(res,f(nx,ns)+pre[nx-1]-pre[x-1])dp[x][s]=resreturn respre=[0]*(m+1)
for i in range(1,m+1):pre[i]=pre[i-1]+a[i-1]
s=(1<<n)-1
print(f"{pre[m]-f(1,s):.2f}")

改成递推形式

n, m = map(int, input().split())
v = list(map(int, input().split()))
a =list(map (float, input().split()))pre = [0.0] * (m + 1)
for i in range(1, m + 1):pre[i] = pre[i - 1] + a[i - 1]dp = [[-1.0] * ( 1<<n) for _ in range(m + 5)]# 初始化
for s in range(1 << n):dp[m + 1][s] = 0.0for x in range(m, 0, -1):for  s in range(1 << n):dp[x][s] = dp[x + 1][s]for j in range(n):if (s & (1 << j)):ns = s ^ (1 << j)nx = min(m + 1, x + v[j])dp[x][s] = max(dp[x][s], dp[nx][ns] + (pre[nx - 1] - pre[x - 1]))s = (1 << n) - 1
print("{:.2f}".format(pre[m] - dp[1][s]))

H 排练

待补,官网目前提交会内部错误

I 数字与留言

数位dp,待补,目前只写了个5%的暴力

x,y=map(int,input().split())
mod=10**9+7
ans=0
def check(n):sn=str(n)if '2' in sn or '4' in sn:return Falseelse:return Truefor i in range(1,x):if not check(i):continuefor j in range(i+1,x):if not check(j):continuefor k in range(j+1,x):if not check(k):continueif (i+j+k)%2024==y:ans=(ans+1)%mod
print(ans)

J 药剂

像是概率dp,待补,写了个30%的暴力

import sys
from math import combdef solve():N, mo = map(int, sys.stdin.readline().split())a = list(map(int, sys.stdin.readline().split()))if N == 1:print(a[0] % mo)returntotal = 0def dfs(current_a):nonlocal totalif len(current_a) == 1:total = (total + current_a[0]) % moreturnfor i in range(len(current_a)):for j in range(i + 1, len(current_a)):new_a = current_a.copy()y = new_a.pop(j)x = new_a.pop(i)new_a1 = new_a.copy()new_a1.append(x + y)dfs(new_a1)new_a2 = new_a.copy()new_a2.append(x * y)dfs(new_a2)dfs(a)print(total) solve()
http://www.dtcms.com/a/450338.html

相关文章:

  • 《数据密集型应用系统设计2》--数据系统对比:OLAP/OLTP,数仓/数据湖/数据湖屋
  • Oracle OCP认证考试题目详解082系列第55题
  • 学做宝宝衣服网站好h5和小程序有什么区别
  • day5
  • 2025-10-06 Python不基础13——mro
  • 那片海dede织梦源码企业网络公司工作室网站模板源码模板php网页游戏维京传奇
  • 【深度学习03】神经网络基本骨架、卷积、池化、非线性激活、线性层、搭建网络
  • 新媒体营销seo个人优化方案案例
  • Redis项目应用总结(苍穹外卖/黑马头条/乐尚代驾)
  • 做网站js还是jq2021年世界500强榜单
  • 建设旅游网站的费用预算杭州抖音代运营
  • 【LaTeX】 13 LaTeX 长文档结构管理
  • Python入门:Python3基础练习题详解
  • 高端网站建设加盟帮人做彩票网站
  • 哪个网站做的ppt模板好查查企业网
  • 为什么做的网站别的浏览器打不开怎么回事做网站规划
  • 做影视后期应该关注哪些网站做神马网站优化快速
  • 测试题——1
  • 力扣3634. 使数组平衡的最少移除数目
  • 网站服务器不稳定樟木头网站建设
  • 建设网站都需投入哪些资源wordpress没有图片
  • 网站主栏目投资网站排行
  • 国内永久crmseo刷关键词排名免费
  • 爬虫的道德与法律边界:Robots 协议、版权与个人信息保护
  • @[TOC](文件操作和IO)
  • 打开网站不要出现 index.html携程网站联盟
  • 律师行业协会网站建设做简历的网站叫什么
  • c++ enum和enum class
  • 罗湖网站制作多少钱南京企业网站
  • 【论文阅读】通义实验室,VACE: All-in-One Video Creation and Editing