首页 > 其他分享 >做题记录整理dp1 P1282. 多米诺骨牌(2022/9/20)

做题记录整理dp1 P1282. 多米诺骨牌(2022/9/20)

时间:2022-09-20 15:55:40浏览次数:116  
标签:dp1 6000 int 2022 P1282 ans 1e8 for1 dp

P1282. 多米诺骨牌

我们可以把每张骨牌的差值塞进dp的维度了,就变成dpi,j表示前i块骨牌的差值为j的最小旋转次数

就可以有递推方程

dp[i,j]=max(dp[i-1,j-(a[i]-b[i])],dp[i-1,j+(a[i]+b[i])]+1)

我们可以发现第二个维度会出现负数的情况,所以我们可以选择将数据的值域进行整体平移,从[-6000,6000]变成[0,12000]

这题算是一个剑走偏锋的dp类型了(还有一个整体平移的奇怪方法)

#include<bits/stdc++.h>
#define for1(i,a,b) for(int i=a;i<=b;i++)
using namespace std;
int dp[1005][13001],n,m,a[500005],b[500005];
int main()
{
	cin>>n;
	for1(i,1,n)
	{
		scanf("%d%d",&a[i],&b[i]);
	}
	for1(i,0,n)
	for1(j,0,12001)
	dp[i][j]=1e8;
	dp[0][6000]=0;
	for1(i,1,n)
	{
		for1(j,-6000,6000)
		{
			int cha=a[i]-b[i];
		    dp[i][j+6000]=min(dp[i-1][j-cha+6000],dp[i-1][j+cha+6000]+1);
		}
	}
	int ans=1e8;
	for1(i,0,6000)
	{
			ans=min(dp[n][i+6000],dp[n][6000-i]);
			if(ans!=1e8)
			{
			
			cout<<ans<<endl;
			break;
		}
	}
	return 0;
}

标签:dp1,6000,int,2022,P1282,ans,1e8,for1,dp
From: https://www.cnblogs.com/yyx525jia/p/16711317.html

相关文章

  • 做题记录整理dp1 P1541. [NOIP2010 提高组] 乌龟棋(2022/9/20)
    P1541.[NOIP2010提高组]乌龟棋把每个牌选多少个塞进dp的四个维度里,就可以做到无后效性了#include<bits/stdc++.h>usingnamespacestd;#definefor1(i,a,b)for(ll......
  • 做题记录整理线段树2 P4513. 小白逛公园(2022/9/20)
    P4513.小白逛公园我们思考一个如何使用线段树维护这个答案,会发现l.r的答案=max(l,mid的答案,mid+1,r的答案,横跨两个区间的答案)那么我们现在再引入一个区间的最大前缀......
  • 2022第五空间-web部分wp+复盘总结
    打了一天,麻了,大佬tql,这次get到了不少东西,一是一个不太常见的宽字节注入,我是真的没想到,而且后面也是看了wp理解了好一会才弄明白。0x01:题目是一个登录框,但是基本上是过滤......
  • 九月加息75基本以成定局 年底终端利率将决定中期大选前风险市场走势 — 2022.9.20
    九月加息75基本以成定局年底终端利率将决定中期大选前风险市场走势—2022.9.20随着昨天晚上美股的走势BTC和ETH因为昨天上午开始出现的下跌恐慌情绪终于消散了一些,虽然......
  • 2022 CLion 中的Cygwin 配置(最全,最良心版)
    目录前景提要一、windows10安装Cygwin1.找到官网,进入官网,百度搜索或者点击下边链接.2.找到如图位置,双击下载3.下载完成后,找到下载的位置,双击exe文件.4.进入欢迎页界......
  • 20220911 CCPC 网络赛
    第一次正式参加xcpc比赛,三个人都好久没写代码了,导致一堆题写出来了没调出来,很下饭。ADoubtvsLie模拟题,直接模拟题意即可。CGuess手玩一下找下规律即可。HMutip......
  • 20220918 ICPC 网络赛
    过了8个题,比上一场稍微好点了,但是被过了一片的I卡住了,有点可惜。CDeltetetheTree首先可以发现几个简单的性质:操作过程中点的度数不会增加,shrink操作不改变其他点......
  • twinBASIC 更新:2022 年 9 月 18 日
    twinBASIC更新:2022年9月18日亮点包括PictureBox控件的初始实现和用twinBASIC编写的自定义Windows事件查看器。经过迈克·沃尔夫(在推特上连接:@NoLongerSe......
  • 2022.9.20 1005-1008
    1005#include<stdio.h>#include<stdlib.h>#include<math.h>intmain(){unsignedlonglongn;scanf("%llu",&n);unsignedlonglongm=(unsignedlonglong......
  • 2022.08.24 模拟赛小结
    2022.08.24模拟赛小结题面链接(这个链接只是为了自己方便找,页面设置权限了,不要尝试访问)更好的阅读体验戳此进入(建议您从上方链接进入我的个人网站查看此Blog,在Luo......