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

题解:洛谷 P4933 大师

【题目来源】

洛谷:P4933 大师 - 洛谷

【题目描述】

ljt12138 首先建了 \(n\) 个特斯拉电磁塔,这些电塔排成一排,从左到右依次标号为 \(1\)\(n\),第 \(i\) 个电塔的高度为 \(h[i]\)

建筑大师需要从中选出一些电塔,然后这些电塔就会缩到地下去。这时候,如果留在地上的电塔的高度,从左向右构成了一个等差数列,那么这个选择方案就会被认为是美观的。

建筑大师需要求出,一共有多少种美观的选择方案,答案模 \(998244353\)

注意,如果地上只留了一个或者两个电塔,那么这种方案也是美观的。地上没有电塔的方案被认为是不美观的。

同时也要注意,等差数列的公差也可以为负数。

【输入】

第一行一个正整数 \(n\)

第二行 \(n\) 个非负整数,第 \(i\) 个整数是第 \(i\) 个电塔的高度 \(h[i]\)

【输出】

输出一个整数,表示美观的方案数模 \(998244353\) 的值。

【输入样例】

8
13 14 6 20 27 34 34 41 

【输出样例】

50

【解题思路】

image

【算法标签】

《洛谷 P4933 大师》 #动态规划,dp# #枚举# #洛谷月赛# #O2优化#

【代码详解】

#include <bits/stdc++.h>
using namespace std;const int N = 1005;  // 定义最大数组长度
const int MOD = 998244353;  // 定义模数int n;                // 数组长度
int ans;              // 美观方案总数
int a[N];             // 存储序列元素
int f[N][N];          // dp数组,f[i][j]表示以a[i]和a[j]结尾的美观子序列数int main()
{// 输入序列长度cin >> n;// 输入序列元素for (int i = 1; i <= n; i++){cin >> a[i];}// 初始化答案:每个单独元素都构成一个美观方案ans = (ans + n) % MOD;// 动态规划计算美观子序列数for (int i = 1; i < n; i++){for (int j = i + 1; j <= n; j++){f[i][j] = 1;  // 基础情况:a[i]和a[j]本身构成一个长度为2的子序列// 计算当前两数差值int x = a[j] - a[i];// 查找前面能与当前差值形成等差数列的元素for (int k = 1; k < i; k++){if (x == a[i] - a[k])  // 找到满足等差条件的元素{f[i][j] = (f[i][j] + f[k][i]) % MOD;  // 累加方案数}}// 累加到总答案中ans = (ans + f[i][j]) % MOD;}}// 输出结果cout << ans;return 0;
}

【运行结果】

8
13 14 6 20 27 34 34 41
50
http://www.jsqmd.com/news/397081/

相关文章:

  • 基于LSTM的共享单车需求预测研究
  • 题解:洛谷 P2285 [HNOI2004] 打鼹鼠
  • 题解:洛谷 P1020 [NOIP 1999 提高组] 导弹拦截
  • 携程任我行礼品卡回收实操步骤 - 京顺回收
  • 研究生开题答辩前如何确保论文AI率合格?导师不会告诉你的实操指南
  • neovim配置python插件支持环境 —— Pynvim 环境搭建 —— Pynvim安装
  • 期刊投稿也要查AI了?学术期刊AIGC检测现状与对策
  • Gemini 3.1 Pro在这个平台便宜到离谱,编程能力竟然超过GPT-5.2和Opus 4.6
  • MySQL几种count比
  • 2026年广州AI获客服务商赋能实体经济标杆企业TOP10榜单:技术与产业深度融合的领航者 - 野榜精选
  • 在K8s集群中部署Traefik并验证Python HTTP服务
  • 深入浅出 K8s 内外部通信:全场景方案解析与生产实践
  • 2026年热压/烫金/丝印皮牌工艺行业优质供应商TOP10推荐:聚焦全链条服务能力,助力品牌价值升级 - 野榜精选
  • 深入解析Nginx反向代理多服务时静态资源路径冲突的根源与解决方案
  • 2026年,探寻有抗衰老功效的保健品,保健品/抗衰老片,保健品食品选哪家 - 品牌推荐师
  • 2026年2月无管道新风机品牌TOP10榜单:技术创新与场景适配性双维度评选 - 野榜精选
  • 对数额外空间的森林判定
  • OpenJDK和Oracle JDK有什么区别和联系?
  • 探寻2026可长期服用能抗疲劳的保健品,抗衰老片/保健品,保健品产品哪家好 - 品牌推荐师
  • Linux 多线程编程入门:线程栈、TLS、互斥锁与条件变量详解
  • C++的多态是如何体现的?一篇文章搞懂C++虚函数机制与常见问题
  • 【Linux】sudo 命令提升权限的使用技巧
  • HTTP 协议发展详解:从 HTTP/1 到 HTTP/3
  • 大模型应用开发:从选型到部署的核心考量
  • 探索ABAQUS刀盘切削竹材有限元模型
  • Prompt,除了使用外,你了解其核心原理么?
  • GEO崛起:AI时代品牌信息优化的新策略
  • php字符串变量传递到js注意事项
  • 前端小白别慌:30分钟搞懂HTML表格结构+属性全清单(附避坑指
  • 《信号与系统》信号与系统、AI系统、软件系统、电路系统-模拟、电路系统-数字、通信系统-发送、通信系统-接收、图像处理、音频处理、光学变换系统、自动控制系统、人体系统、企业系统的共性