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

题解:SP64 PERMUT1 - Permutations

题目传送门

题目翻译

给定一个 \(d\),接下来 \(d\) 行,每行一个 \(n\)\(k\) 查找这个序列的全排列中一共有多少个排列含有 \(k\) 个逆序对。

思路

动态规划。

\(f_{i,j}\) 表示 \(1\)\(i\) 中存在 \(j\) 个逆序对,所以方程为:

\[f_{i,j}= \sum ^j _{k=j-\min(i-1,j)} f_{i-1,k}= \sum ^j _{k=0} f_{i-1,k} - \sum ^{j-\min(i-1,j)} _{k=0} f_{i-1,k} \]

Q: 可这复杂度也太高了吧。

A: 别怕,可以用前缀和来优化。

优化详见注释。

CODE

#include <bits/stdc++.h>
using namespace std;
long long f[10010], g[2][10010];
int main()
{ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);int d;cin >> d;while (d--) {int n, k;cin >> n >> k;memset(f, 0, sizeof(f)); // 清空数组。memset(g, 0, sizeof(g)); // 同上。f[0] = 1; // 边界。for (int i = 0; i <= k; i++)g[1][i] = ((i == 0) ? 0 : g[1][i - 1]) + f[i]; // 前缀和。for (int i = 2; i <= n; i++)for (int j = 0; j <= k; j++) // 方程。{f[j] = g[(i - 1) & 1][j] - ((j - min(i - 1, j) - 1 < 0) ? 0ll : g[(i - 1) & 1][j - min(i - 1, j) - 1]);g[i & 1][j] = ((j == 0) ? 0 : g[i & 1][j - 1]) + f[j];}cout << f[k] << "\n"; // 输出答案。}return 0; // 结束。
}

彩蛋

本题是多倍经验 P6323 [COCI2006-2007#4] ZBRKA,P1521 求逆序对,P2513 [HAOI2009] 逆序对数列。

http://www.zskr.cn/news/1368363.html

相关文章:

  • Ark-Pets NVIDIA显卡优化终极指南:让你的明日方舟桌宠流畅运行
  • Reloaded-II模组加载器:5步彻底解决依赖循环与无限下载问题
  • Informer2020:突破Transformer计算瓶颈,实现长序列时间预测的工业级解决方案
  • 打造你的专属Minecraft体验:NightX Client深度解析与实用指南
  • CDecrypt:解锁Wii U游戏内容的专业解密工具完整指南
  • ARM处理器VFP版本详解与开发实践
  • 超市卡回收:世纪联华卡闲置盘活 实时估价秒到账 - 可可收公众号
  • 从Prompt小白到批量出片,只差这4个认知跃迁节点:一线AIGC实验室验证的渐进式学习模型
  • League Akari:基于LCU API的模块化游戏客户端增强框架
  • Legacy iOS Kit终极指南:旧款iPhone/iPad降级、越狱与恢复完整教程
  • P9913题解
  • 旧电脑救星:手把手教你用Ventoy绕过Win11的TPM限制完成安装
  • 2026年亲测:9款高效论文降AIGC工具,有效降AI率 - 降AI实验室
  • 河北晋州市寄快递省钱攻略|4 个全国靠谱寄件渠道,日常寄件少花冤枉钱 - 时讯资讯
  • 别再瞎配了!Linux网卡bonding的xmit_hash_policy到底怎么选?实战场景与避坑指南
  • Gemini API响应异常突增300%?揭秘谷歌内部紧急热修复的5个关键步骤
  • 为什么你的AI项目PPT总被说“太技术”?ChatGPT融资团队亲授:把Transformer讲成便利店故事的5步转译法(附话术对照表)
  • 终极WindowResizer:打破Windows窗口限制的免费高效工具
  • 题解:P11077 「FSLOI Round I」石子
  • 高性能日志分析系统架构设计:LogExpert企业级监控解决方案
  • 国家中小学智慧教育平台电子课本下载终极指南:3步快速获取PDF教材的高效方法
  • AllData数据中台:企业数字化转型的架构深度解析与实战指南
  • AI视频字幕去除终极指南:免费开源工具完美解决硬字幕问题
  • 5分钟掌握WSA-Pacman:Windows安卓应用管理的终极解决方案
  • 为什么你的Gemini KYC失败率高于行业均值2.8倍?揭秘5个被忽略的OCR字段映射陷阱及标准化修复方案
  • 【紧急预警】ChatGPT默认图表存在3类隐性误导风险!金融/医疗行业已发生2起决策偏差事故
  • 二维码修复工具QrazyBox:如何拯救你无法扫描的损坏二维码?
  • FPIG框架:平衡公平、隐私、可解释与绿色的可持续机器学习实践
  • ChatGPT无法直接绘图?错!掌握这5种结构化数据预处理技巧,让LLM原生输出SVG-ready JSON
  • 为你的 AI 应用选择合适模型,Taotoken 模型广场使用指南