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

滕州做网站比百度好用的搜索软件手机版

滕州做网站,比百度好用的搜索软件手机版,常德网站建设套餐报价,做一个搜索引擎网站要多少钱一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 Problem - 1954D - Codeforces 二、解题报告 1、思路分析 本题前置题目: 1953. 你可以工作的最大周数 通过前置题目可以知道如何计算两两不同数对序列的最大长度 我们记最大数量为ma&#xf…

一、题目

1、题目描述

2、输入输出

2.1输入

2.2输出

3、原题链接

Problem - 1954D - Codeforces


二、解题报告

1、思路分析

本题前置题目:

1953. 你可以工作的最大周数

通过前置题目可以知道如何计算两两不同数对序列的最大长度

我们记最大数量为ma,总数目为N

如果ma > N / 2, 那么划分的组数取决于ma,即ma组

如果ma <= N / 2, 那么划分组数为floor(N / 2)

换句话说,任意(N, ma)我们可以计算出其组数

那么(N, ma)状态有多少种?每种(n,ma)有多少个?

n个颜色最多对应n个ma,也就是说我们最多有N * n种状态

而N 和 n的上界都是5000

我们如果定义状态f[总数][最大值],那么每次状态转移需要遍历比当前最大值小的状态,这样的时间复杂度为O(n^3)

但是我们发现我们将原数组排序,那么我们顺序遍历的时候,最大值就是当前值

我们考虑设计状态f[i][x]为遍历到第i个物品时,容量为x的方案数

那么f[i][x] = Σf[i -1][j - nums[i]]

而我们得知方案数后自然可以根据容量和当前最大值nums[i]来计算其贡献

然后我们用f[i][x]更新f[i + 1][x + nums[i]]即可

我们发现这似乎退化成了01背包问题,而且可以滚动数组优化

然后问题就迎刃而解了

2、复杂度

时间复杂度: O(n^2)空间复杂度:O(n)

3、代码详解

# import sys# sys.stdin = open('in.txt','r')
mod = 998244353n = int(input())
a = list(map(int, input().split()))a.sort()f = [0] * 5001
f[0] = 1res = s = 0
for x in a:for i in range(s, -1, -1):if f[i]:res = (res + f[i] * max((i + x + 1) // 2, x)) % modf[i + x] = (f[i] + f[i + x ]) % mods += xprint(res)

http://www.yidumall.com/news/70466.html

相关文章:

  • 富阳网站制作企业建设网站公司
  • ui个人作品集网站公司官网开发制作
  • 门头效果图制作trinseo公司
  • 如果做网站需要多少钱软文写作的三个要素
  • 网页设计网站开发需要哪些知识30条新闻摘抄
  • 哪些网站有中文域名吸引顾客的营销策略
  • 勉费申请做网站推广普通话手抄报内容
  • 百度不收录你的网站产品益阳网络推广
  • 做兼职靠谱的网站有哪些线上营销手段
  • 望牛墩镇仿做网站2023年8月份新冠症状
  • 自己可以进行网站建设吗福州seo推广外包
  • wordpress产品参数多图上海排名优化seobwyseo
  • 平面设计师看的网站市场推广专员
  • 如何创建网站下载域名备案查询
  • 手机网站有免费做的吗seo自然优化排名
  • 做网站在手机端预览乱码了互联网营销师怎么考
  • 广州营销型网站建设公司哪家靠谱网络卖货平台有哪些
  • 南宁营销型网站设计怎么做ppt
  • 网站开发免费游戏推广员是违法的吗
  • 怎么制作ppt课件宁波网站seo诊断工具
  • 做蔬果批发有专门的网站么在百度上怎么发布广告
  • 网页设计与实训布置课堂作业百度首页优化
  • 网站做的支付宝接口网站seo重庆
  • 武汉网站建设前十产品推广公司
  • wordpress建站 外贸企业seo排名外包
  • 誉重网站建设公司真实有效的优化排名
  • 易语言 做网站mysql网址制作
  • 微信网站设计运营域名历史查询工具
  • 如何做类似千图网的网站营销自动化
  • 重庆营销型网站开发公司电话杭州网站运营十年乐云seo