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++;
		}
	}
相关推荐
爱喝热水的呀哈喽8 小时前
cpp二分库函数 lambda捕获
算法
longlongzihan8 小时前
LeetCode 76. 最小覆盖子串:滑动窗口算法详解
算法·leetcode·滑动窗口
怕浪猫17 小时前
RAG 面试 6 连问,从原理到优化全部覆盖
python·算法·面试
无线通信科研笔记17 小时前
IEEE TVT 2026 论文精读与完整复现|相位误差如何重塑近场 RIS 的幅相响应
论文阅读·人工智能·python·算法·论文笔记
mmmmath_318 小时前
二叉树の递归遍历
算法
All for pursuit.18 小时前
【位运算-1】338.比特位计数
数据结构·c++·算法·leetcode
小师兄吃牛肉19 小时前
C语言中的nullptr有必要吗
c语言·c++·算法
一只小小的芙厨21 小时前
【线性DP】
学习·算法·动态规划
奋发向前wcx21 小时前
CSP-J复赛模拟赛5 王晨旭补题 2026.10.5
算法
罗湖老棍子1 天前
C Looooops(信息学奥赛一本通- P1640)
算法·数论·同余·裴蜀定理·扩展欧几里得