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

CSP-VP37th

目录

1.数值积分

2.机器人饲养指南

3.模板展开

4.集体锻炼

5.收费标准评估


掐指算来好像有两个星期没算法了,之前忙于无聊的考试周和记八股,是时候来点有意思的算法题了,正好到时候6.8是38次CSP,OJ一下上一届的

这次OJ有几道题T了,但是网上找不到题解资源,官方题解好像在它们卖的书里面,哎光顾着圈钱了(说实话自青鱼老师的遭遇就让我抱有不太好感

1.数值积分

TUOJ

模拟题

b,c,l,r=map(int,input().split())def f(x):return x**2+b*x+cimport mathl=math.ceil(l)if l%2:l+=1summ=0for i in range(l,r+1,2):summ+=f(i)print(summ*2)

2.机器人饲养指南

TUOJ

动态规划-完全背包问题

n,m=map(int,input().split())a=list(map(int,input().split()))
'''
f=a.copy()
for i in range(m+1,n+1):ma=0for j in range(1,i//2+1):#分割思路错误:这样就必须是分两段if j>=n:breakma=max(ma,f[j-1]+f[i-j-1])f.append(ma)
'''#重新理一下:空间为n固定,要求价值最大:完全背包
F=[0]*(n+1)
def Cpack(F,c,w):for j in range(c,n+1):F[j]=max(F[j],F[j-c]+w)for i in range(1,m+1):#每天喂多少水果,也就是占用的容量c=iw=a[i-1]Cpack(F,c,w)print(F[-1])

3.模板展开

TUOJ

太久没用都忘记 replace 后要赋值了

直接模拟的话只能过40%后面就T了,有一个小点还是M的

#动态:当组成这个字符串所索引的 $ 对象变的时候也会随着变T=int(input())
d={}
for _ in range(T):temp=list(input().split())if temp[0]=='1':st=''for i in range(2,len(temp)):if temp[i][0]!='$':st+=temp[i]else:if temp[i][1:] in d:st+=d[temp[i][1:]]#st=''.join(s for s in temp[2:])d[temp[1]]=stelif temp[0]=='2':st=''for i in range(2,len(temp)):if temp[i][0]=='$':st+=temp[i]+'^'else:st+=temp[i]d[temp[1]]=stelse:#print(d)if temp[1] in d:l=d[temp[1]]for key in d:l=l.replace('$'+key+'^',d[key])#太久没用,都忘记replace要赋值了#print(l)print(len(l))else:print(0)
'''
l='$a^'
l.replace('$'+'a'+'^',d['a'])
print(l)
print('$'+'a'+'^')
'''

感觉主要是因为 3 里面的遍历replace超时了,

通过正则表达式优化了匹配思路,但是还是T

            pattern=r"\$.*?\^"matches=re.findall(pattern,l)for key in matches:l=l.replace(key,d[key[1:len(key)-1]])

我感觉是因为用py的原因

但是 g++ 也T了。。

目前还在研究

4.集体锻炼

模拟法后面T了


n=int(input())a=list(map(int,input().split()))import mathsu=0
MOD=998244353for i in range(n):gc = a[i]su = (su + (i+1) * (i+1) % MOD * gc % MOD) % MODfor j in range(i+1, n):gc = math.gcd(gc, a[j])su = (su + (i+1) * (j+1) % MOD * gc % MOD) % MODprint(su)

5.收费标准评估

图论

http://www.xdnf.cn/news/12297.html

相关文章:

  • 使用 OpenAI Moderation 实现内容审核
  • 看板中“进行中”任务过多如何优化
  • 深度学习题目1
  • CppCon 2015 学习:C++ Metaprogrammin
  • ECB(电子密码本,Electronic Codebook) 和 CBC(密码分组链接,Cipher Block Chaining)区分于用途
  • 合并表格(按行合并)
  • 黑马Java面试笔记之 并发编程篇(线程池+使用场景)
  • 软件项目管理(1) 项目管理概述
  • Excel数据分析:基础
  • Java-IO流之缓冲流详解
  • 【Maniskill】使用Ppo的官方基线训练时出现指标突然“塌陷”的现象
  • STM32入门教程——OLED调试工具
  • 基于SSM框架的医院电子病历管理系统,分为用户网页和管理后台,包括科室模块、医生模块、预约挂号模块、就诊记录模块、就诊评价模块、轮播图模块和系统基础模块
  • 【JavaWeb】Linux项目部署
  • GC1808:高性能24位立体声音频ADC芯片解析
  • 并发编程 - go版
  • 深入浅出 Scrapy:打造高效、强大的 Python 网络爬虫
  • Linux 里 su 和 sudo 命令这两个有什么不一样?
  • SQL知识合集(一):函数篇
  • day20 leetcode-hot100-38(二叉树3)
  • NX985NX988美光固态闪存NY103NY106
  • Selenium 查找页面元素的方式
  • 任务调度器-关于中心化调度 vs 去中心化调度的核心区别
  • 计算机操作系统知识点总结④【完】
  • Python应用函数调用(二)
  • xshell使用pem进行远程
  • 408第一季 - 408内容概述
  • 高压危险铁塔大字金属安全警示牌技术解析
  • Java开发中复用公共SQL的方法
  • 【高等数学】傅里叶级数逼近例子