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

#题解#洛谷P1966 火柴排队#归并#逆序对#

P1966 [NOIP 2013 提高组] 火柴排队 - 洛谷

分析

  1. 求∑(ai​−bi​)2取最小值等价于∑ai​bi取到最大值,根据排序不等式,当{ai}与{bi}的序相同时,​∑aibi取到最大值

  2. 将ai和bi分别映射为序,即ai在原数列中第k大,则ai->k

  3. 每次操作交换相邻的元素,交换一次ai a(i-1) 等价于 交换一次bi b(i-1),于是我们只考虑对一边进行操作

  4. 将bi映射为 i ,然后以相同映射法则对ai映射,问题转化为{ai}操作几次变为升序

  5. {ai}升序等价于{ai}中没有逆序对,容易归纳证明,操作次数={ai}中逆序对数,逆序对数用归并排序即可

代码

#include<bits/stdc++.h>
#define int long long
#define endl '\n'
#define mid ((l+r)>>1)
using namespace std;
const int N = 1e6+10;
const int mod = 1e8-3;struct num
{int val;int ord;
} a[N], b[N];bool cmp(num x, num y)
{return x.val < y.val;
}int cnt = 0;
int c[N], d[N], e[N], f[N];void solve(int l, int r)
{if (l >= r) return ;solve(l, mid), solve(mid + 1, r);for (int  i = l, j = l, k = mid + 1;  i <= r; i++){if ( j <= mid and k <= r){if (c[j] > c[k] ) e[i] = c[k++], cnt += mid - j + 1,cnt%=mod;else  e[i] = c[j++];}else{if (j == mid + 1)e[i] = c[k++];elsee[i] = c[j++];}}for (int i = l; i <= r; i++)c[i] = e[i];
}
signed main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int n;cin >> n;for (int i = 1; i <= n; i++)cin >> a[i].val, a[i].ord = i;for (int i = 1; i <= n; i++)cin >> b[i].val, b[i].ord = i;sort(a + 1, a + 1 + n, cmp);sort(b + 1, b + 1 + n, cmp);for (int i = 1; i <= n; i++)c[a[i].ord] = i, d[b[i].ord] = i;for (int i = 1; i <= n; i++)f[d[i]] = i;for (int i = 1; i <= n; i++)c[i] = f[c[i]];
//	for (int i = 1; i <= n; i++)
//		cout << c[i] << " ";solve(1ll, n);cout << cnt;return 0;
}
http://www.gsyq.cn/news/78924.html

相关文章:

  • Mac用户必看!Live Home 3D Pro 沙盒版 让家居设计从入门到大师级都能轻松搞定
  • 增加根分区空间
  • 一文读懂Linux系统与常用命令
  • 北京正规的香港留学中介一站式留学服务机构有哪些
  • 如何运行一个互联互通银联 BFIA 协议作业
  • 2025年纳米级研磨仪定制厂家权威推荐榜单:球磨仪‌/纳米研磨行星式球磨机‌/土壤研磨机源头厂家精选
  • 2025申请香港留学中介哪家好
  • 2025香港留学中介机构排名
  • Java开发者如何高效生成复杂SQL?飞算JavaAI的SQLChat为什么更可靠
  • 2025 年 12 月滤芯厂家权威推荐榜:塑料/铜/不锈钢/PVFM/烧结/微孔/真空/异型滤芯及消音器滤芯全品类深度解析
  • 2025楼道座椅电梯品牌TOP5权威推荐:口碑厂家与价格参考
  • 2025年中国五大生物基氨基酸衍生物工厂推荐:看哪家实力强
  • 2025年上海全屋定制厂推荐:口碑好的电竞房全屋定制品牌企业
  • 2025年上海十大全屋定制公司推荐:不错的全屋定制酒柜公司推
  • 禅道---初步了解
  • 2025年靠谱的一字铰链TOP品牌厂家排行榜
  • 2025年比较好的彩色橡塑保温管/铝箔橡塑保温板行业内知名厂家排行榜
  • 2025年聚氨酯隔音垫订做厂家权威推荐榜单:聚氨酯减震橡胶垫块/聚氨酯垫块/聚氨酯垫片源头厂家精选
  • 深度神经网络如何提升对话式AI技能准确性
  • Atoll:让MacBook刘海屏变身智能交互中心
  • 2025年12月办公家具,银行家具,实木办公家具厂家权威推荐,技术实力与市场口碑深度解析​
  • 记录一次通过DeepSeek查找崩溃
  • Windows11使用VSCode+TexLive
  • 2025年冷弯压瓦机实力厂家权威推荐:三层压瓦机/彩钢压瓦设备/屋顶压瓦机源头制造商精选
  • 手机短信转发软件SmsForwarder
  • 2025年比较好的中大型机床铸件最新TOP厂家排名
  • 个人网站必备!雷池社区版WAF实测:10分钟部署,拦住99%爬虫攻击
  • 如何把服务加到systemctl
  • 2025 年 12 月色谱仪厂家权威推荐榜:气相/离子/便携式/高效色谱仪,精准分析与智能网络化技术深度解析
  • 详细介绍:C++:类和对象---进阶篇