P9232 [蓝桥杯 2023 省 A] 更小的数(区间DP)

求大数字某连续部分反转后,比原数字小的个数

思路:自前向后遍历

ai是位于数字第i位的数字

aj是位于数字第j位的数字(i<=j)

ai>aj faiaj=1;

ai<aj faiaj=0;

ai==aj faiaj=fai+1aj-1

(由于是连续部分反转,若该部分下一层中

有反转后变小的部分,反转后整体也会变小)

复制代码
	cin >> arr;
	int len = strlen(arr);
	for (int i = len - 1; i >= 0; i--)
	{
		for (int j = i+1; j < len; j++)
		{
			if (arr[i] > arr[j])
				f[i][j] = 1;
			else if (arr[i] < arr[j])
				f[i][j] = 0;
			else
				f[i][j] = f[i + 1][j - 1];
			if (f[i][j] == 1)
				s++;
		}
	}
相关推荐
地平线开发者6 小时前
profiler debug 工具用法与高一致性策略
算法·自动驾驶
编程大师哥6 小时前
匿名函数 lambda + 高阶函数
java·python·算法
我叫袁小陌7 小时前
算法解题思路指南
算法
地平线开发者7 小时前
Conv+BN+Add+ReLU 融合机制简介
算法·自动驾驶
yuanyuan2o27 小时前
模型预训练:Hugging Face Transformers 基础
算法·ai·语言模型·自然语言处理·nlp·深度优先
杨充7 小时前
1.3 浮点型数据设计灵魂
开发语言·python·算法
妄想出头的工业炼药师8 小时前
GS slam mono
算法·开源
_日拱一卒8 小时前
LeetCode:207课程表
java·数据结构·算法·leetcode·职场和发展
用户9874092388711 小时前
llamafactory 0.6.3 没有 llamafactory-cli
算法