尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

QOJ7937 题解

QOJ7937 题解
📅 发布时间:2026/7/15 21:22:48

异或 $a$ 和 $b$ 等价于异或一次 $a,b$ 的异或和,所以对排列的异或操作最多一次
易知交换次数等于排列的逆序对数
题目转化为把排列的每个数异或上一个数 $x$ ,使得排列的逆序对数最少,并求出最少的逆序对数

对于两个正整数 $a,b$
$a,b$ 记二进制上从高位到低位第一个不同的位为第 $k$ 位
若 $ a_k=1 $ 则 $ a>b $ ,反之 $ b>a $

记 $c[k][0] 为 x_k=0$ ,最高不同位为 $k$ 的数对其产生的逆序对数
记 $c[k][1] 为 x_k=1$ ,最高不同位为 $k$ 的数对其产生的正序对数
则有两种情况
$l=log_2 n$
1.不进行异或操作

$ans= \sum_{i=0}^l c[i][0]$  

2.进行异或操作

$ans=1+\sum_{i=0}^l min(c[i][0],c[i][1])$  

 1 #include<cstdio>
 2 #include<vector>
 3 using namespace std;
 4 #define ll long long
 5 const ll maxn=1e5+5;
 6 ll n,l,c[30][2],ans,res;
 7 vector <ll> a;
 8 void get(vector <ll> a,ll b){
 9     if(b<0||a.size()<=1)return;
10     vector <ll> oe;
11     vector <ll> zo;
12     ll o=0,z=0;
13     for(ll i:a){
14         if((i>>b)&1){
15             c[b][1]+=z;
16             o++;
17             oe.push_back(i);
18         }
19         else{
20             c[b][0]+=o;
21             z++;
22             zo.push_back(i);
23         }
24     }
25     get(oe,b-1);
26     get(zo,b-1);
27 }
28 int main(){
29     scanf("%lld",&n);
30     for(ll i=1;i<=n;i++){
31         ll x;
32         scanf("%lld",&x);
33         a.push_back(x);
34     }
35     while((1<<l)<n)l++;
36     l--;
37     get(a,l);
38     for(ll i=0;i<=l;i++){
39         res=res+min(c[i][0],c[i][1]);
40         ans+=c[i][0];
41     }
42     res++;
43     printf("%lld",min(res,ans));
44     return 0;
45 } 

 

相关新闻

  • 66AK2G12 QSPI/SPI/UART接口时序深度解析与设计实践
  • LLM应用安全加固:企业级提示词防护与输出校验实践
  • 2026济宁楼顶漏水、卫生间漏水、外墙、地下室、阳台渗漏怎么选?3家正规公司(7月) - 防水企业百科

最新新闻

  • 分布式锁的性能突围:基于 Redlock 的 Redis 分布式锁在高并发下的可靠性分析
  • 未来展望:secPaver即将支持的AppArmor策略生成功能预览
  • ResNet残差结构的设计空间探索:从原始设计到ResNeXt的消融验证
  • Origin 从入门到出图的通用流程 有数据无数据 都可以画 非线性拟合,无数据作图
  • 2026年7月长沙离婚律所推荐:湖北尊而光律师事务所长沙分所婚姻家事团队等八家专业机构深度测评 - 优企名品
  • 数字IC后端实战:基于Innovus的电源规划与布线拥塞分析

日新闻

  • 告别启动盘残留:用Diskpart彻底清除U盘EFI分区与恢复完整空间
  • 2026 年宜春诚信的塑料缠绕膜厂家哪个好,缠绕膜背后的秘密:你不知道的成本陷阱 - 领域鉴赏官
  • Arch ECS 入门指南:10分钟掌握C#高性能数据驱动架构

周新闻

  • IX9104 PCIe5.0 高速交换芯片@ACP#完整规格 + 应用场景总结
  • Unity游戏集成Coze智能体:实现NPC智能对话与知识库联动
  • SAP EPIC 建行回单查询:从标准类CL_EPIC_EXAMPLE_CN_CCB_GHTD到Z类的5处关键修改

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号