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

滕州做网站企业网站建设流程

滕州做网站,企业网站建设流程,wordpress文件分享,网络营销策划要素一、题目 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.hrbkazy.com/news/48863.html

相关文章:

  • 如何建立网站或网页沈阳今天刚刚发生的新闻
  • 网页显示站点不安全杭州网站搜索排名
  • 网站建设注册密码咋弄青岛seo建站
  • wordpress 主查询seo有哪些优缺点?
  • 哈尔滨如何做网站推广优化2022最近十大的新闻热点
  • 北京 企业网站开发今日头条新闻最新事件
  • asp动态网站衣服销售微信软文范例100字
  • 爱媛直播seo短视频入口引流
  • 公司网站需要程序员做吗海口seo计费
  • 全球最受欢迎的网站免费二级域名查询网站
  • 上海建设单位工程备案网站百度推广和优化有什么区别
  • 济南营销型网站建设公司营销型网站建设优化建站
  • 齐河做网站百度怎么提交收录
  • 深圳做手机网站多少钱百度今日数据
  • 十大不封号直播平台企业网站seo多少钱
  • wordpress $limit移动端seo关键词优化
  • 企业做网站要注意些什么问题上海网络推广渠道
  • 济宁网站开发招聘域名信息查询网站
  • 专门做淘宝收藏可以赚钱的网站公众号如何推广运营
  • 合肥网站建设找佳达长春网站制作公司
  • 易思企业网站管理系统免费软文发布平台
  • 网站系统荥阳网站优化公司
  • 哪个网站做h5好网络网站推广优化
  • 中山移动网站建设报价bt搜索引擎下载
  • 网站建设最重要的因素seo优化运营
  • 个人怎么做网站宁波seo优化报价多少
  • 免费建站哪个好企业网站代运营
  • 目前做网站最流行的程序语言拼多多关键词排名查询软件
  • wordpress分类列表显示网站seo报告
  • 高端网站建设wanghess网络营销推广的手段