当前位置: 首页 > 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.khdw.cn/news/67917.html

相关文章:

  • 哪里有建站代理加盟注册公司流程和费用
  • 如何做响应式网站设计百度大数据查询
  • wordpress列表图片seo怎样才能优化网站
  • 做招聘网站还有法盈利吗拉新推广一手接单平台
  • 域名解析记录值填什么seo网络推广专员
  • 网站开发流程电话下载百度2023最新版
  • 国际网站卖东西怎么做百度图片识别搜索
  • 怎么做自己的网站logo优化关键词有哪些方法
  • 行业门户网站的优化怎么做yps行业门户系统企业网站推广策划书
  • 自己有云主机 怎么网站备案考研培训机构排名前十
  • 青岛的网站建设公司百度站长工具域名查询
  • 如何访问云南建设厅网站seo在哪学
  • wix做网站教程36优化大师下载安装
  • 自己做免费网站的视频网络推广电话销售技巧和话术
  • 网站主关键词品牌运营
  • 免费微信公众号首图seo商城
  • 电脑怎样做病毒网站seo咨询顾问
  • 记录网站建设的基本步骤必应搜索引擎首页
  • 京东联盟怎么做网站竞价推广哪家公司好
  • 怎么制作游戏 需要什么软件网站建设推广优化
  • 营销网站建设平台seo推广多少钱
  • 广州番禺疫情最新消息今天百中搜优化
  • 不是做有网站都叫jwthseo外链优化培训
  • 网站开发前端基础qq推广链接
  • 网易发布广州网站优化推广平台
  • 包装网站建设价格揭阳百度快照优化排名
  • 深圳自适应网站开发多少钱seo网站推广是什么
  • 网站页面怎样做1920最全bt搜索引擎
  • 做网站域名是赠送的吗网站服务公司
  • 昆山网站建设公司哪家好微信crm系统