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 分钟前
华为云Flexus+DeepSeek征文|Dify 构建企业级联网搜索 Agent:查询改写、多源检索与引用溯源实战
人工智能·深度学习·算法·aigc
七夜zippoe10 分钟前
DolphinDB 能耗统计分析实战:报表生成、同比环比与定额对比
人工智能·算法·dolphindb·报表生成·能耗统计·定额对比
为啥全要学20 分钟前
在大语言模型上使用 PPO 算法
人工智能·算法·语言模型
zander2581 小时前
35. 搜索插入位置:从边界语义理解二分查找
数据结构·算法·leetcode
汤愈韬1 小时前
模型求解算法
人工智能·算法·机器学习
Keven_111 小时前
算法札记:DP中的滚动数组
算法·滚动数组
luj_17681 小时前
随机性在算法与占卜中的共通原理
c语言·开发语言·c++·经验分享·算法
Chen—LSN2 小时前
C语言——深度理解指针(5)
c语言·数据结构·算法·排序算法
佳児素花痴╮4 小时前
树的基础知识与查找排序算法
数据结构·算法
lueluelue4710 小时前
LeetCode:链表
算法·leetcode·链表