当前位置: 首页 > news >正文

Codeforces Round 1051 (Div. 2) D1题 题解记录

大致题意:对于一个数组,找出其中有多少个子序列,其不包含严格下降的三个数。比如5,2,3,15,2,3,15,2,3,1,由于包含5,3,15,3,15,3,1或者5,2,15,2,15,2,1,故被视为不合法的。
(这一题或许很简单,但是我脑子转的比较慢,遂记录一下题解)
解:
我们先假设iii位置之前有sss个合法的子序列,现在考虑第iii个位置的数aia_iai。假如从合法的子序列中随便考虑一个ppp,那么首先aia_iai可以不跟随,单独继承ppp;然后aia_iai自己可以单独成为一个新的合法的子序列;然后再考虑aia_iai是否可以接到ppp后面。我们可以发现,aia_iai可以接到ppp后面,当且仅当ppp中所有逆序对(v1,v2)(v_1,v_2)(v1,v2),要求ai≥max(v2)a_i\ge max(v_2)aimax(v2)。假如原先有个6,46,46,4,接入一个777,再接入一个666的时候,v2v_2v2发生了变化。之所以会发生变化,是因为其中最大值也发生了变化。故考虑dpdpdp的时候,除了需要存入max(v2)max(v_2)max(v2),也需要考虑最大值。

void solve() {int n;cin >> n;vector<int> a(n + 1);for (int i = 1; i <= n; i++)cin >> a[i];vector<vector<int>> dp(n + 1, vector<int>(n + 1));for (int i = 1; i <= n; i++) {auto ne = dp;for (int j = 1; j <= n; j++) {for (int k = 1; k <= n; k++) {if (a[i] < k)continue;else if (a[i] >= k && a[i] < j) {ne[j][a[i]] = add(ne[j][a[i]], dp[j][k]);} else ne[a[i]][k] = add(ne[a[i]][k], dp[j][k]);}}ne[a[i]][1] = add(ne[a[i]][a[i]], 1);dp = ne;}int s = 1;for (int i = 1; i <= n; i++)for (int j = 1; j <= n; j++)s = add(s, dp[i][j]);cout << s<< endl;
}
http://www.dtcms.com/a/395591.html

相关文章:

  • 计算机视觉、图像处理国际学术会议
  • redhat7.4升级到Oracle Linux8.10
  • PEFT库实战快速入门
  • PyTorch 核心知识手册:神经网络构建与训练基础
  • DeepSeek对数学工具的分类(2025.1.13)
  • 2025年9月打磨机器人新技术解析与常见知名品牌推荐
  • STM32开发(WiFi - ESP8266)
  • ArcGIS 车辆轨迹跟踪 视频制作 第一人称视觉跟踪
  • Ansible自动化运维平台部署
  • VGG和PyTorch 神经网络工具箱
  • Linux系统nginx(一)
  • 144g网页制作最新 144g网页在线生成方法
  • PyTorch 神经网络工具箱全面解析
  • mac-vlan 概念及题目
  • 【华为OD机考正在更新】2025年双机位A卷真题【完全原创题解 | 详细考点分类 | 不断更新题目 | 六种主流语言Py+Java+Cpp+C+Js+Go】
  • 《Muduo网络库:基于Muduo的网络服务器编程示例》
  • 详解JNI JNA!
  • C# 获取docx文档页数的古怪方法
  • 算法题(215):奶牛飞盘
  • Ubuntu 安装与使用C++ onnxruntime库
  • Ubuntu 部署 Zabbix 6.0 LTS 监控平台
  • 基于springboot家政、上门服务、Java源码系统功能结构
  • 从 “纸笔清单” 到全栈引擎:数据填报与类 Excel 控件如何重塑企业效率曲线
  • FPGA学习笔记——图像处理之饱和度调节(RGB)
  • MySQL 读写分离详解与 MyCat 实战部署
  • SEU-project1项目调试过程记录
  • STM32H743-结合CubeMX新建HAL库MDK工程
  • [国奖版本!更新完毕]2025华为杯E题数学建模研赛E题研究生数学建模思路代码文章成品:高速列车轴承智能故障诊断问题
  • 【一天一个Web3概念】区块链中的双花问题:概念、案例与防范措施
  • Java 大视界 -- Java 大数据机器学习模型在金融衍生品定价与风险管理中的应用(415)