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

AtCoder Beginner Contest 431

啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

[ABC431F] Almost Sorted 2

给一个数组 \(A\) 和一个正整数 \(D(1 \le D \le 10^6)\),求有多少种重排数组 \(A\) 能得到的数组 \(B\)(显然多种完全相同的数组 \(B\) 只算一种),满足:

  • \(\forall 1 \le i \le n-1,B_i-D \le B_{i+1}\)

答案对 \(998244353\) 取模。

\(2 \le n \le 2 \cdot 10^5\)\(1 \le D,a_i \le 10^6\)

有关排列的计数,CSP-S 2025 T4 这种因为限制条件是前缀相关所以从左往右扫,而这题只有左右两边的限制,考虑枚举值域。

从小到大枚举 \(v\)(每次把 \(v\) 插进去),\(v\) 只能插在大于 \(v-D\) 的元素的前面,然后就做完了。

总之有关排列的计数,要么从左往右扫,要么枚举值域。

http://www.rkmt.cn/news/44919.html

相关文章:

  • 空间矢量脉宽调制(Space Vector Pulse Width Modulation)SVPWM基础
  • 如何有效衡量开发者生产力:超越代码行数的思考
  • 从API调用到智能体编排:GPT-5时代的AI开发新模式 - 教程
  • Spring AI Alibaba 项目源码学习(一)-整体介绍
  • 技术架构师到CIO如何转型
  • Spring Boot + JWT + jjwt 建立前后端分离登录认证(详细教程 + 工具类封装)入门教程
  • 基于实际字节码解析Python链式赋值:从ls1[i]=2到a=b=c=10的完整机制
  • Redis 缓存 - 实践
  • [PTA]龟兔赛跑
  • 数组参数的函数传递
  • 【狂神说Java】Mybatis最新完整教程IDEA版通俗易懂 P1什么是Mybatis P2第一个Mybatis程序
  • 《Spring Boot 实战:搭建 RESTful API 接口服务(含 Swagger + 异常处理)》
  • 《程序员高效工作流:5 款必备工具 + 时间管理方法,告别无效加班》
  • 详细介绍:深入解析Java并发编程中的Synchronized关键字工作原理与性能优化
  • 实用指南:【前端基础】20、CSS属性——transform、translate、transition
  • NOIP2025模拟4
  • jmeter基础测试1
  • 网页中的三次握手,四次挥手
  • 设计驱动开发实战
  • 性能学习
  • 实用指南:苹果手机误删照片?别慌,这些找回方法助你找回珍贵回忆
  • npm: 无法加载文件
  • 2025.11.9——1橙1绿
  • Python中a = b = 10的底层机制:从名字绑定到引用计数的完整拆解
  • Python中“赋值”说法是否规范?与C语言赋值的界限必须划清
  • Microsoft Agent Framework 接入DeepSeek的优雅姿势
  • 人工智能团队的示例角色
  • React18学习笔记(五) 【总结】常用的React Hooks函数,常用React-Redux Hooks函数和React中的组件通信 - 指南
  • flask:使用flask-migrate迁移数据表
  • docker 搭建 sql 环境