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

Solution - P6186 [NOI Online #1 提高组] 冒泡排序

主观难度:【2】

其实我当时的想法已经非常接近了。但是也只是非常接近了。


前面忘了。

注意到在每一轮冒泡排序后,对于每个不是前缀最大值的数都会有一个数被移到后面去,亦即以该点为较后点的逆序对数量减一。

设以点 \(i\) 为较后点的逆序对数量为 \(b_i\),则有 \(\mathrm{answer} = \sum_{i = 1}^{n} \max \{ b_i-k, 0 \}\)

用你喜欢的方式维护这个东西即可。我比较喜欢权值树状数组。

#include <bits/stdc++.h>
#define llong long long
#define N 200005
using namespace std;#define bs (1<<20)
char buf[bs], *p1, *p2;
#define gc() (p1==p2&&(p2=(p1=buf)+fread(buf,1,bs,stdin),p1==p2)?EOF:*p1++)
template<typename T>
inline void read(T& x){x = 0; int w = 1;char ch = gc();while(ch < '0' || ch > '9'){if(ch == '-') w = -w;ch = gc();}while(ch >= '0' && ch <= '9')x = (x<<3)+(x<<1)+(ch^48), ch = gc();x *= w;
}
template<typename T, typename ...Args>
inline void read(T& x, Args& ...y){return read(x), read(y...);
}int n, q;
int a[N]; llong b[N];int tmp[N];
llong fwk1[N], fwk2[N];
#define lowbit(x) (x&-x)
template<typename T>
inline void modify(T fwk[], int x, T k){for(int i = x+1; i <= n+1; i += lowbit(i)) fwk[i] += k;}
template<typename T>
inline T query(T fwk[], int x){T res = 0; for(int i = x+1; i; i ^= lowbit(i)) res += fwk[i]; return res;}int main(){read(n, q);for(int i = 1; i <= n; ++i) read(a[i]);for(int i = 1; i <= n; ++i){b[i] = (i-1)-query(tmp, a[i]);modify(fwk1, b[i], 1ll), modify(fwk2, b[i], b[i]);modify(tmp, a[i], 1);}while(q--){int op, x; read(op, x);if(op == 1){modify(fwk1, b[x],   -1ll), modify(fwk2, b[x],   -b[x]  );modify(fwk1, b[x+1], -1ll), modify(fwk2, b[x+1], -b[x+1]);if(a[x] < a[x+1]) ++b[x];else              --b[x+1];swap(a[x], a[x+1]), swap(b[x], b[x+1]);modify(fwk1, b[x],   1ll), modify(fwk2, b[x],   b[x]  );modify(fwk1, b[x+1], 1ll), modify(fwk2, b[x+1], b[x+1]);}if(op == 2){x = min(x, n);printf("%lld\n", query(fwk2, n)-query(fwk2, x)-(n-query(fwk1, x))*x);}}return 0;
}
http://www.jsqmd.com/news/496914/

相关文章:

  • RexUniNLU零样本NLU效果展示:中文口语化表达(含错别字)鲁棒性测试
  • Xinference-v1.17.1实操:使用xinference stop/start管理模型生命周期
  • SiameseAOE中文-base实战案例:抽取‘系统卡顿,发热严重,但屏幕显示细腻’三元组
  • 春联生成模型-中文-base入门必看:如何导出JSON格式春联数据用于CMS内容管理
  • 20263月江苏铝合金托盘产业,技术迭代下的战略供应商选择指南 - 2026年企业推荐榜
  • 2026年 高温自粘换位导线厂家推荐榜单:耐热绝缘、精准换位,工业级高效电磁线材优质品牌深度解析 - 品牌企业推荐师(官方)
  • 2026注塑智能水电气系统推荐指南|江苏康姆鑫99.9分五星登顶 靠谱厂家全解析 - 品牌智鉴榜
  • LeetCode HOT100 - 课程表
  • 守住食品安全底线:如何筛选高合规、高稳定的食品级磷酸供应商? - 深度智识库
  • 2026不锈钢三通厂家推荐:隧道管/无缝方矩管/架子管/热镀锌槽钢厂家精选 - 品牌推荐官
  • SecGPT-14B镜像免配置:开箱即用WebUI+API双接口,无需conda/pip环境搭建
  • Phi-3 Forest Laboratory惊艳效果展示:128K上下文下整本小说逻辑复述
  • 2026爪钻生产厂家推荐:高端定制与外贸饰品供应商评估报告 - 博客湾
  • 通勤与休闲皆宜:新中式女装实用款式推荐,新中式女装采购供应链色麦新中式专注行业多年经验,口碑良好 - 品牌推荐师
  • 电商比价项目中API接口数据的应用||item_get_pro-获得JD商品详情
  • Leather Dress Collection入门必看:Stable Diffusion 1.5基础模型兼容性验证要点
  • 基于深度学习的玉米虫害检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Django+web+训练代码+数据集)
  • Realistic Vision V5.1虚拟摄影棚企业应用:低成本替代影楼人像拍摄方案
  • HCPL-0531-500E,具备3MHz带宽的双通道高速光耦合器
  • NEURAL MASK开源模型部署指南:支持x86_64与ARM64双架构镜像
  • 万象熔炉 | Anything XL效果对比:FP16 vs BF16精度对生成质量影响
  • translategemma-27b-it效果展示:科研论文图表标题+坐标轴标签多语种同步翻译
  • GLM-4-9B-Chat-1M翻译能力实测:26语种支持+Chainlit多轮交互部署案例
  • MedGemma Medical Vision Lab教学成果:医学生自主设计的50+有效提问案例集
  • wan2.1-vae在农业数字化中的应用:作物病害图谱生成、智能灌溉场景示意与农技培训图解
  • RexUniNLU部署教程:ModelScope一键拉取+CPU/GPU自适应快速上手
  • Fish Speech-1.5镜像安全加固:非root运行+网络策略+模型签名验证
  • 金仓 KingbaseES 多 GIS 地理数据库部署及用户隔离实施方案
  • MedGemma X-RayGPU加速实测:X光分析响应时间从分钟级降至秒级
  • DeepAnalyze开源大模型:基于Ollama的轻量级Llama3文本解构方案,MIT协议可商用