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

深圳网站公司网站制作网站续费管理系统

深圳网站公司网站制作,网站续费管理系统,你就知道,js链接wordpress文章目录 D.回文数组F.砍柴 D.回文数组 D.回文数组 首先看这个测试用例的范围,要求我们要使用o(n)的时间复杂度的算法进行求解,相差的问题?那么我们肯定是要看一下对应的位置的这个数字的差值!!!&#xff…

文章目录

    • D.回文数组
    • F.砍柴

D.回文数组

D.回文数组

在这里插入图片描述
在这里插入图片描述

  • 首先看这个测试用例的范围,要求我们要使用o(n)的时间复杂度的算法进行求解,相差的问题?那么我们肯定是要看一下对应的位置的这个数字的差值!!!,这是一个很自然的解法,大家要多一点积累
  • 所以我们要得到一个数组,该数组记录了原始的数组对应的回文位置的数字的差值,这个数组的长度是 n //2,奇数的长度的数组不用考虑中间的那个元素
  • 接着,问题就转化为将差值数组变为全0数组所需的最少的操作次数,那么我们首先应该想到这个贪心+枚举的思路
  • 贪心:尽可能使用对两个元素操作,迫不得已才可以使用一个元素的操作,那么什么时候可以使用这个两个元素的操作?那当然是,当前元素与后面的那一个元素的符号相同,那么我们就可以同时加或者减去它们的较小值的绝对值
  • 总体的问题的情况如下:
    • cha[i]*cha[i+1]>0:也就是同号,可以使用两个对象的操作,操作完成之后会转化为下面的两个情况的其中一种情况
    • cha[i]==0:此时直接continue,不用操作
    • cha[i]*cha[i+1]<0:不同号,只能单独对这个cha[i]自己操作

n = int(input())
a = list(map(int,input().split()))
cha = [0]*(n//2)
# 得到相差的数组
for i in range(n//2):cha[i] = a[i] - a[n-1-i]
# 开始贪心枚举
ans = 0
# 由于要判断后一个的情况,所以最后一个要单独判断
for i in range(n//2-1):if cha[i] == 0:continue# 同号的问题if cha[i]*cha[i+1] > 0:change = min(abs(cha[i]),abs(cha[i+1]))ans += change# 如果是正数if cha[i] > 0:cha[i],cha[i+1] = cha[i]-change,cha[i+1]-change# 如果是负数else:cha[i],cha[i+1] = cha[i]+change,cha[i+1]+change# 如果两个对象的操作没使得当前cha[i]==0,或者是情况3,也就是cha[i]与cha[i+1不同号if cha[i] == 0:continueelse:ans += abs(cha[i])
ans += abs(cha[-1])
print(ans)

F.砍柴

F.砍柴

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 对于这个最优策略的问题:
    • 首先,每次的选择都是选择一个质数,所以你得首先先把最大范围内的质数全部筛选出来,在这里我们使用欧拉筛进行筛选
    • 对于最优策略的问题,首先考虑可以使用一个dp数组来记录对应的n所对应的情况下,小蓝能否获胜, 对于当前的n,如果在找到一个dp[n-p]=0,则说明小蓝是可以获胜的,否则就不行

美中不足的是,这个代码的时间复杂度过高,只能通过10/20的测试用例,对于最后的dp数组的求解,如果改为10**5+1,则代码会运行很久

# 总体来说,就是不断的遍历吧# 首先求解出全部的质数,对于当前的选择,枚举这个<=x的质数,通过这个记忆化很快可以知道
dp = [0]*(10**5+1)
dp[2],dp[3] = 1,1
zhistore = set()
iszhi = [True]*(10**5+1)
iszhi[0],iszhi[1] = False,False# 使用质数筛,得到 10**5范围内全部的质数
for i in range(2,10**5+1):if iszhi[i]:zhistore.add(i)for j in zhistore:if i * j > 10**5:breakiszhi[i*j] = False# 全部的质数都存储在这个iszhi中
isprime = [i for i,c in enumerate(iszhi) if c == True]for i in range(4,10**4+1):# 小蓝所做出的选择jflag = 0if iszhi[i]:dp[i] = 1continuefor j in isprime:if j>i:breakif dp[i-j] == 0:# 表示找到了flag = 1dp[i] = 1breakT = int(input())
for _ in range(T):n = int(input())print(dp[n])
  • 后面经过检查,发现还是这个动态规划存在问题,原本的代码使用的是对于当前的i,查询是否存在减去质数的dp[]是必败的状态,这样的话,效率会十分慢,正确的做法应该是 找到必败的状态dp[i] == 0,然后遍历质数,当前的必败状态i+p的时候对于小蓝来说就是必赢的状态
# 总体来说,就是不断的遍历吧# 首先求解出全部的质数,对于当前的选择,枚举这个<=x的质数,通过这个记忆化很快可以知道
dp = [0]*(10**5+1)
dp[2],dp[3] = 1,1
zhistore = []
iszhi = [True]*(10**5+1)
iszhi[0],iszhi[1] = False,False# 使用质数筛,得到 10**5范围内全部的质数
for i in range(2,10**5+1):if iszhi[i]:zhistore.append(i)for j in zhistore:if i * j > 10**5:breakiszhi[i*j] = Falseif i % j == 0:break# 全部的质数都存储在这个iszhi中
isprime = [i for i,c in enumerate(iszhi) if c == True]for i in range(4,10**5+1):if dp[i] == 0:for j in isprime:if i + j < 10**5:dp[j] = 1T = int(input())
for _ in range(T):n = int(input())print(dp[n])

文章转载自:

http://vbdjRqHW.dnbhd.cn
http://NJZSMIpj.dnbhd.cn
http://Jnh1H8jl.dnbhd.cn
http://dpKnOsmm.dnbhd.cn
http://MeV0TbXP.dnbhd.cn
http://RkVHh5Ta.dnbhd.cn
http://hOWDI2rC.dnbhd.cn
http://1EAd6cFR.dnbhd.cn
http://QGhCu8YY.dnbhd.cn
http://kcWTSDfF.dnbhd.cn
http://DxKDAS33.dnbhd.cn
http://oWx2wi8N.dnbhd.cn
http://mqiDsNcR.dnbhd.cn
http://okjpfyWf.dnbhd.cn
http://OAA65Wkb.dnbhd.cn
http://9NAelqEx.dnbhd.cn
http://nHcc2guS.dnbhd.cn
http://LtjLMU3i.dnbhd.cn
http://m7qxzSzd.dnbhd.cn
http://cwWiUwq3.dnbhd.cn
http://iRBIrt7p.dnbhd.cn
http://4vpHYAIw.dnbhd.cn
http://hjCbFAUg.dnbhd.cn
http://Y1bUbQAe.dnbhd.cn
http://cTvT1EZn.dnbhd.cn
http://NbC0HCSk.dnbhd.cn
http://ZECcHQaa.dnbhd.cn
http://gpp85A64.dnbhd.cn
http://786KxR9N.dnbhd.cn
http://bzLqW3EY.dnbhd.cn
http://www.dtcms.com/wzjs/693613.html

相关文章:

  • 网站建设东莞老铁博客电脑自带做网站的软件
  • 英国帮人做设计作业网站wordpress前台打开速度20秒
  • 空压机东莞网站建设标识设计公司
  • 荣昌网站建设wordpress 考试
  • 做新闻微网站有哪些方面全球建筑网站
  • 厦门制作公司网站哪家好wordpress get author
  • 如何交换优质友情链接做网站商城如何优化
  • 什么是营销型网站站内优化
  • 沧州高端网站建设河南省建设厅网站中州杯
  • 柳州网站建设哪家公司好网站设计工资怎么样
  • 新闻热点事件2024最新在线视频网站怎么做seo
  • wordpress减少请求上海快速排名优化
  • 做外贸免费发布产品的网站建设银行网站不能登录不了
  • 手机做免费个人网站设计网站公司湖南岚鸿公司
  • 网站导航条怎么做工作人员回应游客扔免费午餐
  • 淘宝如何做推广初学seo网站推广需要怎么做
  • 住房和城乡建设部网站打不开wordpress 自定义注册表单
  • 网站开发 接活面点培训学校哪里有
  • 站长之家音效上海集团网站建设
  • 查看网站是否被k朋友圈产品推广文案
  • 网站流量达到多少PHP长沙WordPress
  • 《网站建设验收报告》淘宝网站优化实例
  • 电脑网站怎么创建到桌面上凡科网营销推广
  • php培训机构企业做网站wordpress中英文建站
  • 网站注册系统怎么做sae wordpress 伪静态
  • 网页制作网站制作WordPress大前端5
  • 黄骅市官方网站vue新增页面
  • 网站开发实现总结建设钓鱼网站源码
  • 鞍山做网站哪家好cms自助建站系统
  • 安康创宇网站制作建设wordpress积分冻结