首页 > 其他分享 >DP爬楼

DP爬楼

时间:2023-07-23 22:34:39浏览次数:34  
标签:return int ans 爬楼 inf DP

problem1 一双木棋 chess
分析性质,发现每个时刻的状态都是锯齿线,考虑怎么把状态压进去,对于每个时刻都对应一个在 n 维上走了若干步和 m 维上走了若干步,如果用一个 11 进制数存的话会有 \(1e10\) 种状态,但是实际上由于落子的限制状态很稀疏可以直接 map 水过。

点击查看代码
int dfs(int x, int w){// 0 A, 1 B
	if(x == ed) return 0;
	if(ans[x]) return ans[x];
	int sum = w ? inf : -inf, tmp = x, c[12];
	c[0] = inf;
	for(int i = 1; i <= n; i++) c[i] = tmp % 11, tmp /= 11;
	for(int i = 1, pos = 1; i <= n; i++, pos *= 11)
		if(w and c[i] < min(c[i-1], m))
			sum = min(sum, dfs(x + pos, w ^ 1) - b[i][c[i]+1]);
		else if(!w and c[i] < min(c[i-1], m))
			sum = max(sum, dfs(x + pos, w ^ 1) + a[i][c[i]+1]);
	return ans[x] = sum;
}

标签:return,int,ans,爬楼,inf,DP
From: https://www.cnblogs.com/Lkkaknoi/p/17576074.html

相关文章

  • Android SoundPool 详解
    AndroidSoundPool详解在Android开发中,我们经常需要使用声音和音频来增强用户体验。Android提供了多种方式来实现音频播放,其中之一就是使用SoundPool类。本文将详细介绍SoundPool类,并提供代码示例来帮助读者更好地理解和使用它。SoundPool简介SoundPool是Android提供的一个专......
  • dockerfile endpoint使用环境变量
    DockerfileEndpoint使用环境变量介绍在Docker开发环境中,使用环境变量是一种常见的做法。环境变量可以提供一种灵活且可配置的方式,用于在不同的容器之间传递参数。而Dockerfile中的Endpoint用于指定容器的入口点,即容器启动后要执行的命令或脚本。本文将介绍如何在Dockerfile中使......
  • matlab用udp发数据,python接受数据
    用UDP在Matlab中发送数据,Python中接收数据在科学研究和工程领域中,数据的传输和通信是非常重要的。在实际应用中,我们经常需要在不同的编程语言之间传输数据。本文将介绍如何在Matlab中使用UDP协议发送数据,并在Python中接收这些数据。UDP协议简介用户数据报协议(UDP)是一种无连接的......
  • 一类特殊的 dp 模型--zhengjun
    这类问题大概长这样:求一个排列\(p_{1\simn}\),最小(大)化如下值:\[\sum\limits_{i=1}^{n-1}f(p_i,p_{i+1})\\f(i,j)= \left\{ \begin{array}{**lr**} g(i)+h(j),i<j\\ h(i)+g(j),i>j \end{array} \right.\]那么就可以用如下方法\(O(n^2)\)解决:从小到大向序列中......
  • 数位 DP - 知识点梳理
    本质上是一种基于数位的线性DP。通常用于区间统计问题。当暴力枚举会超时,数位DP可以对区间的值进行按位求解,有时使用位值原理,把每位上相同的数一起求解,降低时间复杂度,有时会用到高位优先的贪心思想。实现LuoguP4124[CQOI2016]手机号码这就是一个区间统计问题。如果暴力......
  • 状态压缩 DP - 知识点梳理
    状态压缩DP,或状压DP,是对状态的一种优化。相比于普通DP,通过将高维状态压缩成一个数,减少了维度,并使维度更易于存储与维护。同时这样与bitset一样利用了计算机在\(O(1)\)内处理位运算的能力,大幅度优化了时间复杂度。一般当题目中的状态由多个\(0\)/\(1\)组成,数量不一定,且......
  • m基于扩频解扩+LDPC编译码的通信链路matlab误码率仿真,调制对比QPSK,16QAM,64QAM,扩频
    1.算法仿真效果matlab2022a仿真结果如下:     2.算法涉及理论知识概要      在现代通信系统中,扩频技术被广泛应用于数字通信链路中。扩频技术通过将要传输的信息序列与一个宽带的伪随机码序列进行卷积,将原始信号转换成一个具有更大带宽的扩频信号。在接收端......
  • K8S初始化报错:CRI v1 runtime API is not implemented for endpoint \"unix:///var/r
    报错具体内容:[preflight]Somefatalerrorsoccurred:[ERRORCRI]:containerruntimeisnotrunning:output:time="2023-07-21T09:20:07Z"level=fatalmsg="validateserviceconnection:CRIv1runtimeAPIisnotimplementedforendpoint\"un......
  • Hibernate初始化时在OneToOneSecondPass类中出现NullPointerException
    启动项目 Hibernate随即报错Causedby:java.lang.NullPointerException   atorg.hibernate.cfg.OneToOneSecondPass.doSecondPass(OneToOneSecondPass.java:135)  原因: 主类方,无外键方@OneToOne(mappedBy="carveEReviewproject",targetEntity=CarveEReviewcomment.cla......
  • 多个 Lector621 组网读取 PCB 板上的 DPM 码
    第一部分:现场需求/问题描述 客户购买了5套SICKLector621: 1. 客户要求视野范围500mm; 2. 安装高度:200mm以下; 3. DPM码:4mm*4mm(点数:16*16),分辨率0.25;第二部分:现场工作内容 1.产品功能和参数设置: a. 安装和电气连接:  安装图 1.单台读码器安装......