首页 > 其他分享 >[2022编思1062]找出最少动作数

[2022编思1062]找出最少动作数

时间:2023-04-24 14:35:09浏览次数:45  
标签:int 1062 MAXN 2022 include 编思

[2022编思1062]找出最少动作数

题面

有一个栈,这个栈有\(m\)个状态,每个状态记为\(S_i\)每个状态里面有\(n\)种数字,数字\(i\)有\(a_i\)个。
考虑从全空,依次经历\(S_1...S_m\),让操作数最小化。

sov

是一个神奇的区间DP。
考虑对于某个区间\(S_i...S_j\),从开始塞进去不用动的数字有\(C_{i,j}\)个,这个区间要进行\(f_{i,j}\)次操作,转移可以是:
\(f_{i,j} = min(f_{i,j}, f_{i,k} + f_{k+1,j} - 2 * C_{i,j})\)
结束

code

#include<stdio.h>
#include<string.h>
#define min(a, b) (a > b ? b : a)
#define MAXN 105
int a[MAXN][MAXN];
int c[MAXN][MAXN];
int f[MAXN][MAXN];
int n, m;
int main()
{
	scanf("%d %d", &m, &n);
	for(int i = 1; i <= m; ++i)
	{
		for(int j = 1; j <= n; ++j)
		{
			scanf("%d", &a[i][j]);
		}
	}
	for(int i = 1; i <= m; ++i)
	{
		int mi;
		for(int k = 1; k <= n; ++k)
		{
			mi = 0x3f3f3f3f;
			for(int j = i; j <= m; ++j)
			{
				mi = min(a[j][k], mi);
				c[i][j] += mi;
			}
		}
	}
	memset(f, 0x3f, sizeof(f));
	for(int i = 1; i <= m; ++i) f[i][i] = 2 * c[i][i];
	for(int len = 1; len <= m; ++len)
	{
		for(int l = 1; l + len - 1 <= m; ++l)
		{
			int r = l + len - 1;
			for(int k = l; k <= r; ++k)
			{
				f[l][r] = min(f[l][r], f[l][k] + f[k + 1][r] - 2 * c[l][r]);
			}
		}
	}
	printf("%d", f[1][m]);
}

标签:int,1062,MAXN,2022,include,编思
From: https://www.cnblogs.com/Shiina-Rikka/p/17349406.html

相关文章

  • 关于在visual Studio 2022中无法找到 ASP.NET Core Web Application 或 ASP.NET Core
    在学习ASP.NETCoreWebApplication时发现无论如何都无法找到这个模板,在翻遍论坛后都没有看到解决的方法,在我下载 visualStudio2017中终于找到了但是,你会发现他只能选择.netcore2.0这肯定是不符合我们写代码的,因为他太老了,但在2022中确实找不到    这......
  • 2022-第十三届蓝桥杯大赛个人赛省赛(软件类)真题C大学C组
    返回目录题目一览:A.排列字母B.特殊时间C.纸张尺寸D.求和E.数位排序F.选数异或G.消除游戏H.重新排序I.技能升级J.重复的数   A.排列字母   B.特殊时间   C.纸张尺寸   D.求和   E.数位排序   F.选数异或   G.消除游戏......
  • 2022-第十三届蓝桥杯大赛个人赛省赛(软件类)真题C大学A组
    返回目录题目一览:A.裁纸刀B.灭鼠先锋C.求和D.选数异或E.爬树的甲壳虫F.青蛙过河G.最长不下降子序列H.扫描游戏I.数的拆分J.推导部分和   A.裁纸刀   B.灭鼠先锋   C.求和   D.选数异或   E.爬树的甲壳虫   F.青蛙过河  ......
  • 2022.4.23编程一小时打卡
    一、问题描述:定义一个基类,派生出子类,基类有fn1(),fn2(),fn1()是虚函数;子类也有这俩个函数,在主函数中声明子类的一个对象,并通过指针调用这俩个函数。观察程序运行过程。二、解题思路:首先,定义一个基类BaseClass类,其派生出子类DerivedClass类,在主函数中定义基类的指针,调用这俩个函......
  • 2022-04-23:给定你一个整数数组 nums 我们要将 nums 数组中的每个元素移动到 A 集合 或
    2022-04-23:给定你一个整数数组nums我们要将nums数组中的每个元素移动到A集合或者B集合中使得A集合和B集合不为空,并且average(A)==average(B)如果可以完成则返回true,否则返回false。注意:对于数组arr,average(arr)是arr的所有元素的和除以arr长度。输入......
  • photoshop 2022 新功能介绍,ps2021最新版下载mac/win
    ps2021最新版下载Mac版win版 photoshop2022新功能介绍选取主体云端服务在Photoshop2022年8月(23.5版)中,透过我们的「选取主体」云端服务,获得比在装置上进行「选取主体」处理更细致、品质更好的影像。若要使用「选取主体」云端服务,请执行下列任一操作:浏览至「偏好......
  • 科研图表软件Origin 2022下载和安装教程
    Origin是一个具有电子数据表前端的图形化用户界面软件。与常用的电子制表软件不同,如Excel。Origin的工作表是以列为对象的,每一列具有相应的属性,例如名称,数量单位,以及其他用户自定义标识。Origin以列计算式取代数据单元计算式进行计算。Origin可使用自身的脚本语言去控制软件,该语言......
  • 中睿天下亮相2022电力行业信息化年会
    4月14日-15日,以“低碳数字新动力,电力转型新发展”为主题的2022电力行业信息化年会在长沙成功召开。中睿天下作为网络安全企业受邀出席参展,展示多样性网络安全产品、电力行业解决方案及相关应用成果。作为能源电力领域的行业盛会和学术交流平台,电力行业信息化年会已成功举办20届,始......
  • Microsoft SQL Server安装2022
    https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads用的第三个 注册,填完就可以下载。选择位置左边按安装,右边按最上面一个:全新sql 我们默认下一步 中间有几页,同样是下一步,第二次安装,没有显示了。将适用于sql的反选后下一步选择功能,位置。......
  • SQL Server2022以及SQL Server Management Studio(SSMS)的下载和安装
    1.下载安装包:浏览搜索SQLSERVER2022 2.进入页面后,点击下载 3.页面下拉,选择安装windows版,点击选择安装设置 4.选择在window上安装 5.填写自己信息:姓名手机号邮箱等;(这里可以随便填) 6.点击Downloadnow,等待下载完成 7.下载之后打开下载文件,选择下载介质 8.......