插入数计数类 / 转为换行类dp:AT_agc024_e

2023-12-19

https://www.luogu.com.cn/problem/AT_agc024_e

首先题目可以转化成每次插入一个数,满足字典序递增。

如果只考虑暴力dfs,先别上dp,想想怎么合法和不算重。

合法,也就是插入数有3种情况

  • 插到末尾
  • 插到比他小的前
  • 插到和它相等的数,然后后面退了一位后刚好满足

前2种是好做的,但如果要处理第3种,我们要维护一堆奇奇怪怪的东西。但我们还要考虑不算重!插在第3中的任意位置都会算重,所以其实可以全部规约到第2种。

因此我们钦定只能插入至连续段的末尾。

现在变成了经典的插入数问题,显然从小到大插到 j j j ,有 k + 1 k+1 k + 1 个合法位置。然后到这里还要来个插了 i i i 次。

考虑这一次插还是不插。

不插,就转移到 k − 1 k-1 k 1 。如果 k k k 已经是0了,那就要枚举下一个数了,转移到 f ( i , j + 1 , i ) f(i,j+1,i) f ( i , j + 1 , i ) (因为接下来所有位置都可以插)

如果当前插的话,那就转移至 × ( k + 1 ) → f ( i + 1 , j , k ) \times (k+1)\to f(i+1,j,k) × ( k + 1 ) f ( i + 1 , j , k ) ,之所以要乘这个系数,是考虑到插入的数之间是有顺序的。

	n=read(); k=read(); mo=read(); 
	dp[0][1][0]=1; 
	for(i=0; i<=n; ++i)
		for(j=1; j<=k; ++j) 
			for(t=n; t>=0; --t) {
				if(t) Add(dp[i][j][t-1], dp[i][j][t]); 
				else Add(dp[i][j+1][i], dp[i][j][t]); 
				Add(dp[i+1][j][t], dp[i][j][t]*(t+1)); 
			}
	printf("%lld", dp[n][k][0]); 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

插入数计数类 / 转为换行类dp:AT_agc024_e 的相关文章

  • 形象讲解Android中dpi,dp和px之间的关系(设计师如何与程序员沟通)

    屏幕尺寸指屏幕 显示屏 对角线的长度 单位为英寸 dpi dots per inch 像素密度 指每英寸中的像素数 1 在android中 160dpi设备下 1px 1dp 160dpi表示一英寸中包含160个像素点 px 即把一英寸平均
  • 计蒜客 17319 The Heaviest Non-decreasing Subsequence Problem

    Problem nanti jisuanke com t 17319 Meaning 给一个整数序列 s 每个数都有个权值 权值的计算方法是 s i lt 0 s i 的权值为 0 s i gt 10000 s i 的权值为 5 且 s i
  • poj 2096 Collecting Bugs

    Problem poj org problem id 2096 vjudge net contest 151678 problem Q Reference blog csdn net xingyeyongheng article detai
  • hdu 1074 Doing Homework

    Problem acm hdu edu cn showproblem php pid 1074 题意 n 份作业 分别给出名字 完成所需时间 cost 最迟上交时间 deadline 作业每迟交一天扣一分 问最少的扣分数 Analysis
  • 入门级动态规划:2018年第九届蓝桥杯省赛B组第四题—测试次数( 摔手机 )

    目录 下面列出用动态规划如何解决此问题 计算若干层楼用若干部手机最少需要摔多少次 计算用若干部手机摔若干次最多可以确定多少层楼 原题描述 x星球的居民脾气不太好 但好在他们生气的时候唯一的异常举动是 摔手机 各大厂商也就纷纷推出各种耐摔型手
  • 最大子矩阵(动态规划c++)

    题目描述 已知矩阵的大小定义为矩阵中所有元素的和 给定一个矩阵 你的任务是找到最大的非空 大小至少是1 1 子矩阵 比如 如下4 4的矩阵 0 2 7 0 9 2 6 2 4 1 4 1 1 8 0 2 的最大子矩阵是 9 2 4 1 1
  • linux--shell错误:syntax error near unexpected token ‘('

    这几天编写了几个简单的shell程序 然后都出现了syntax error near unexpected token 的错误 然后实在是检查不出错误 后面百度了才找到的原因 之前错误的程序片段如下 usr whoami dr pwd 提示
  • hdu 1003 最大连续子序列和及起始位置 && hdu 1087 最大上升子序列和

    hdu 1003 题意 求最大连续子序列和及起始位置 对于动态规划问题要找出其子问题 考虑到dp的无后效性 dp i 表示以i为结尾的最大值 当dp i 1 gt 0时 以i 1为值对以i为结尾的值有贡献 否则起始位置变为自己 动态地更新最
  • 过河 【状态压缩DP】+【完整的数论推导过程】

    题目链接 题意 很多人以为青蛙是要跳到石头上 一个个往后跳 问最少需要的石头数量 其实不然 题目给的样例的确也是有些坑了 青蛙每次都有跳的距离范围 题目求的是最少会跳到的石头 青蛙可以在水中起跳 它要尽可能的避开石头 也就是问抵达终点时最少
  • gym102263 problem J Thanos Power (dp)

    链接 题意 给出一个大数 有两种操作 加 1 0 x 10 x 10x和减 1 0
  • 砝码称重问题【dp】

    设有 1g 2g 3g 5g 10g 20g 的砝码各若干枚 其 总重 1000g 要 求 输入 a1 a2 a3 a4 a5 a6 表示 1g 砝码有 a1 个 2g 砝码有 a2 个 20g 砝码有 a6 个 输出 Total N N
  • hdu 1069 Monkey and Banana

    Problem acm hdu edu cn showproblem php pid 1069 Reference www cnblogs com kuangbin archive 2011 08 04 2127291 html 题意 给
  • 16.4 线性DP练习——【字符串转换】

    文章目录 题目描述 输入描述 输出描述 输入输出样例 最终代码c c 过程理解 题目描述 小蓝拥有两个字符串S T 他希望通过如下操作使得字符S转换为字符串T 操作有一下三种 删除一个字符 插入一个字符 将一个字符改为另一个字符 问最少需要
  • 动态规划问题——最长上升子序列(LIS)(一)

    原文转载自我的博客benym cn 推荐链接 动态规划问题 最长上升子序列 LIS 二 动态规划问题 最长上升子序列 LIS 三 如 求 2 7 1 5 6 4 3 8 9 的最长上升子序列 我们定义d i i 1 n 来表示前i个数以A
  • hdu 1080 Human Gene Functions

    Problem acm hdu edu cn showproblem php pid 1080 Meaning 给出一个二维表 similarity 表示对应核苷酸配对时的相似度值 横杠 表示用空格代替一个核苷酸 给出两个DNA序列 a 和
  • Palindrome subsequence【区间DP+冗斥】

    题目链接HDU 4632 题目让我们求给定的一段字符串上回文串的长度 一个数也算是回文串 于是我就想怎样去找其中的规律 我举了些例子 先是从相同的字符串开始举例 aaa 对于aaa dp 1 1 1 dp 2 2 1 dp 1 2 dp 1
  • 备战2023蓝桥国赛-传纸条

    题目描述 解析 这道题想了我好久 一开始我是想假如只走一条路线 从 1 1 走到 m n 这种问题该怎么解决呢 针对这种问题我是设了dp k i j 表示走了k步到达 i j 的好心程度之和的最大值 然后根据这个来写出转移方程来计算 后面就
  • 【DP】拔河比赛

    题目 一个学校举行拔河比赛 所有的人被分成了两组 每个人必须 且只能够 在其中的一组 要求两个组的人数相差不能超过1 且两个组内的所有人体重加起来尽可能地接近 输入 输入数据的第1行是一个n 表示参加拔河比赛的总人数 n lt 100 接下
  • codeforces 102263 J

    题目 一开始贪心 直接枚举每个位置 一直wa 不知道错哪里了 后来才发现是dp 很多种情况是无法直接贪心的 设 d p i 0
  • [蓝桥杯 2014 省 A] 波动数列

    题目链接 蓝桥杯 2014 省 A 波动数列 题目描述 观察这个数列 1 3 0 2

随机推荐

  • LaTeX 常见数学符号

    LaTeX 符号 新手入门 公式中常用 集合相关 希腊字母 论文中常用 花体字母 奇奇怪怪的符号
  • 机器学习 项目结构 数据预测 实验报告

    需求 我经过处理得到了测试值 然后进一步得到预测和真实值的比较 然后再把之前的所有相关的参数 评估指标 预测值 比较结果都存入excel 另外我还打算做测试报告模板 包括敏感性分析等 您建议我这些功能如何封装这些功能 哪些功能放到一个文件中
  • 一文搞定Linux安装常用软件再也不用到处找了!!!

    作者主页 编程指南针 作者简介 Java领域优质创作者 CSDN博客专家 CSDN内容合伙人 掘金特邀作者 阿里云博客专家 51CTO特邀作者 多年架构师设计经验 腾讯课堂常驻讲师 主要内容 Java项目 Python项目 前端项目 人工智
  • 从一个程序员的角度看东方甄选“小作文”事件

    最近东方甄选 小作文 风波愈演愈烈 开始小编和观众吵架 后面东方小孙本来想要平息风波 而 摔手机 和泄漏董宇辉薪资待遇有激起更大的风波 导致东方甄选粉丝每天都几万 几十万的下降 作为一个消费者 开始是不太能理解东方甄选的这些骚操作 东方甄选
  • TypeError: Cannot read property ‘exclude‘ of undefined

    TypeError Cannot read property exclude of undefined awesome typescript loader和typescript兼容性问题 awesome typescript loader
  • <八>JavaScript中的对象及对像的增删改查

    使用基本数据变量所创建的变量都是独立的 不能成为一个整体 对象属于复合型的数据类型 在对象中可以保存多个不同的数据类型的属性 一 对象的分类 1 1内建对象 由ES标准中定义的对象 比如 Match String Number Boolea
  • Dubbo 支持哪些协议?

    Dubbo 支持多种通信协议 包括但不限于以下几种 Dubbo 协议 Dubbo 框架自带的通信协议 用于服务之间的调用 Hessian协议 轻量级远程调用协议 基于 HTTP 传输 Thrift 协议 跨语言 跨平台的服务接口定义和序列化
  • Linux中使用Curl命令发送HTTP请求的示例——轻松玩转网络

    大家好 今天我要给大家介绍一个在Linux中常用的工具 Curl 它可以帮助我们轻松地发送HTTP请求 让我们一起探索网络世界的奇妙之处吧 首先 让我们了解一下Curl的基本用法 Curl是一个命令行工具 可以用来发送HTTP HTTPS
  • Linux中使用HTTP协议进行Web服务的示例——你的服务器也是“网红”

    大家好 今天我们要聊聊在Linux中如何使用HTTP协议搭建一个Web服务 听起来有点高大上 但其实并不难 让我们一起来看看 首先 我们需要一个Web服务器 在Linux中 最常用的Web服务器之一就是Apache Apache是一个开源的
  • 鸿蒙(HarmonyOS)项目方舟框架(ArkUI)更改应用名称

    鸿蒙 HarmonyOS 项目方舟框架 ArkUI 更改应用名称 一 操作环境 操作系统 Windows 10 专业版 IDE DevEco Studio 3 1 SDK HarmonyOS 3 1 二 更改应用名称 HAP 更改位置如下
  • 什么是微服务

    微服务是一种架构风格 它把一个大型的复杂软件应用划分为一系列小的服务 每个服务都具有单一的功能 运行在其自己的进程中 并通常基于不同的编程语言和框架 这些服务之间通过轻量级通信机制相互通信 这种通信机制基于HTTP协议 微服务架构风格使得系
  • 综合布线实训室建设方案(2024)

    设计单位武汉唯众智创科技有限公司 综合布线实训室概述 随着智慧城市的崛起和新兴行业如人工智能 物联网 云计算 大数据等的迅猛发展 网络布线系统成为现代智慧城市 社区 建筑 家居 工厂和服务业等领域的基础设施和神经网络 实践表明 网络系统故障
  • 【EI会议征稿】第四届环境资源与能源工程国际学术会议(ICEREE 2024)

    第四届环境资源与能源工程国际学术会议 ICEREE 2024 2024 4th International Conference on Environment Resources and Energy Engineering ICEREE
  • 文字怎么转换成语音?这几款软件也许可以帮到你

    如果你还不知道配音工具APP哪个好的话 那我想说的是 今天你可算是来对地方了 随着互联网和智能设备的普及 越来越多的人开始追求创意和个性化的表达方式 而配音工具作为一种实用性极高的工具应运而生 让我们能够轻松地为自己的作品 影视作品 广告等
  • 基于5G数据采集传输的食药冷链云解决方案

    对于食品医药行业 一些产品可能需要保持在稳定温度范围内进行保存与运输 才能保证产品质量与安全 为加强冷链运输中的温湿度管理 物通博联提供基于5G数采通信网关的工业物联网解决方案 帮助企业随时了解冷链过程中各种温湿度的变化 从而及时觉察到异常
  • Vue 条件渲染 v-show

    v show 指令 用于控制元素的显示或隐藏 执行条件 当条件为 false 时 会添加一个 display none 属性将元素隐藏 应用场景 适用于显示隐藏切换频率较高的场景 语法格式 div 内容 div 基础用法
  • 【问题】ipynb文件在ubuntu上的运行?

    目录 安装依赖 转换文件 run ipynb文件 是使用 Jupyter Notebook编写的文件 可以将ipynb文件转换为对应的 python文件 之后在ubuntu上运行即可 安装依赖 pip install jupyter not
  • 高效方便管理多版本Node(windows方式)

    作者主页 编程指南针 作者简介 Java领域优质创作者 CSDN博客专家 CSDN内容合伙人 掘金特邀作者 阿里云博客专家 51CTO特邀作者 多年架构师设计经验 腾讯课堂常驻讲师 主要内容 Java项目 Python项目 前端项目 人工智
  • 【EI会议征稿】第三届新能源技术创新与低碳发展国际研讨会(NET-LC 2024)

    第三届新能源技术创新与低碳发展国际研讨会 NET LC 2024 2024 3rd International Symposium on New Energy Technology Innovation and Low Carbon Dev
  • 插入数计数类 / 转为换行类dp:AT_agc024_e

    https www luogu com cn problem AT agc024 e 首先题目可以转化成每次插入一个数 满足字典序递增 如果只考虑暴力dfs 先别上dp 想想怎么合法和不算重 合法 也就是插入数有3种情况 插到末尾 插到比他