插入数计数类 / 转为换行类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 的相关文章

  • 备战2023蓝桥国赛-移动服务

    题目描述 解析 这道题我想复杂了 一开始我是这样想的 设dp i j 表示按顺序满足到第i个请求时 最初在j号点的人到达第i个请求的位置的情况下的最小花费 state i j 表示按顺序满足到第i个请求时 最初在j号点的人到达第i个请求的位
  • poj 2096 Collecting Bugs

    Problem poj org problem id 2096 vjudge net contest 151678 problem Q Reference blog csdn net xingyeyongheng article detai
  • 背包问题,硬币问题

    至少有4种背包问题 1 01背包 2 部分背包 3 完全背包 4 多重背包 只有部分背包是个贪心问题 其他的都是以01背包为基础的动归问题 部分背包问题 把物品按价值密度从大到小排序 W i V i 然后从第一种物品开始 尽可能多拿当前物品
  • Testing the CATCHER

    http poj org problem id 1887Description A military contractor for the Department of Defense has just completed a series
  • hdu 1059 Dividing

    Problem acm hdu edu cn showproblem php pid 1059 题意 6 种宝石 价值分别是 1 到 6 分别给出 6 种宝石的数量 问能不能分成等价值的两堆 分析 多重背包 主要是记录下多重背包的写法 对每
  • 【Luogu_P2758】编辑距离【动态规划】

    思路 设f i j 标识a匹配到i位 b匹配到j位 于是很好转移 c o d e code code include
  • 最长01交替子串(浪潮笔试题)

    题意 给一个只有0和1的字符串 允许反转一个连续区间 即0变成1 1变成0 求最长的01交替串多长 允许不连续 我最先想到的是动态规划解法 状态设计方面 首先一个串的状态会有以0结尾和以1结尾两种 然后题目中说允许反转一个连续区间 那么根据
  • 【DP练习】美元DOLLARS

    1040 练习题目 美元DOLLARS Description 在以后的若干天里戴维将学习美元与德国马克的汇率 编写程序帮助戴维何时应买或卖马克或美元 使他从100美元开始 最后能获得最高可能的价值 Input 输入文件的第一行是一个自然数
  • hdoj-1069-Monkey and Banana【动态规划】

    Monkey and Banana Time Limit 2000 1000 MS Java Others Memory Limit 65536 32768 K Java Others Total Submission s 9489 Acc
  • 某企业每月给其A、B、C 和D 四个门店一共发送6 个集装箱的某种货物,如果各门店出售该种货物的利润(万元)如下表:

    某企业每月给其A B C 和D 四个门店一共发送6 个集装箱的某种货物 如果各门店出售该种货物的利润 万元 如下表 试求这6 箱货物如何分配给各门店 才能获得最大总利润 解题思路 将问题按卖场分为四个阶段 将A B C D四个卖场分别编号为
  • hdu 1078 FatMouse and Cheese

    Problem acm hdu edu cn showproblem php pid 1078 题意 n n 个洞 每个洞都放有 0 100 个芝士块 老鼠从 0 0 出发 每次都能横着或竖着走最多 k 格 且要走到芝士块数比当前洞多的洞里
  • [NOI Online #3 入门组 T3]买表【二进制优化dp背包】

    题目链接 很可惜的一点就是 我正赛的时候好像把a和k看反了 于是一直想不到如何做 打了个暴力分 现在想想 暴力分也错了 因为a和k真的很关键 使得最后300变成200分 人生第一场OI就这样草草结束 或许这就是OI选手的刺激所在吧 得亏我不
  • Economic Difficulties【DP】【Codeforces 1263 F】

    Codeforces Round 603 Div 2 F 题意 给你两棵树 结点分别是1 A与1 B 然后给了N台设备 并且A树和B树的叶子结点都是链接设备的 问的是 我们最多可以割几条边使得每个设备都能链接A树或者B树上任意的一个 1 号
  • 牛客网-网易2018笔试第7题 -合唱(DP问题)

    题目描述 小Q和牛博士合唱一首歌曲 这首歌曲由n个音调组成 每个音调由一个正整数表示 对于每个音调要么由小Q演唱要么由牛博士演唱 对于一系列音调演唱的难度等于所有相邻音调变化幅度之和 例如一个音调序列是8 8 13 12 那么它的难度等于
  • GYM 102059 G Fascination Street

    G Fascination Street 参考 给出一串n 2e5 个灯 每个灯点亮可以照到相邻三个位置 每个灯点亮都有不同的花费 现在可以交换k 9 次灯的位置 求把所有n个位置都照到的最小花费 交换的肯定是一个亮的灯和一个灭的灯 不然是
  • 递归、加法原理,如何分解问题(独立且完备的划分)

    加法原理适用于做一件事有n种独立不相交且完备的方向 每个方向上有ai种方案 则总的方案数就是 a1 a2 an 例题 把n个数分为k个非空子集 有多少种分法 分解问题 第一个集合里放多少个数把原问题的解分成了独立且完备的若干方向 分别解每个
  • Palindrome subsequence【区间DP+冗斥】

    题目链接HDU 4632 题目让我们求给定的一段字符串上回文串的长度 一个数也算是回文串 于是我就想怎样去找其中的规律 我举了些例子 先是从相同的字符串开始举例 aaa 对于aaa dp 1 1 1 dp 2 2 1 dp 1 2 dp 1
  • Acwing2554. 排列数

    在一个排列中 一个折点是指排列中的一个元素 它同时小于两边的元素 或者同时大于两边的元素 对于一个 1 n 的排列 如果可以将这个排列中包含 t 个折点 则它称为一个 t 1 单调序列 例如 排列 1 4 2 3 是一个 3 单调序列 其中
  • 【DP】拔河比赛

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

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

随机推荐

  • 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种情况 插到末尾 插到比他