题解:CF1918B Minimize Inversions
CF1918B Minimize Inversions
思路
暴力
一个一个的算,复杂度巨大。
数学规律
让逆序最少,也就是让升序更多。我们可以通过多组数据实验,最终我们会发现,将数列 \(A\) 减少一个逆序对,让数列 \(B\) 随着 \(A\) 变化,最多会只会增加一个逆序对。而让 \(A\) 相邻两个数保持升序,\(B\) 相邻两个数保持降序再排序,\(A\) 数列就会增加一个逆序,\(B\) 数列就会减少一个数列,导致不变,所以排序是最好的办法。
代码
#include<bits/stdc++.h>
using namespace std;
int t,n;
struct node{
int a,b;
}q[200005];
bool cmp(node x,node y){
return x.a<y.a;
}
int main(){
cin>>t;
while(t--){
cin>>n;
for(int i=1;i<=n;i++)cin>>q[i].a;
for(int i=1;i<=n;i++)cin>>q[i].b;
sort(q+1,q+n+1,cmp);
for(int i=1;i<=n;i++)cout<<q[i].a<<" ";
puts("");
for(int i=1;i<=n;i++)cout<<q[i].b<<" ";
puts("");
}
return 0;
}
题解:CF1918B Minimize Inversions的更多相关文章
- LeetCode编程训练 - 合并查找(Union Find)
Union Find算法基础 Union Find算法用于处理集合的合并和查询问题,其定义了两个用于并查集的操作: Find: 确定元素属于哪一个子集,或判断两个元素是否属于同一子集 Union: 将 ...
- 算法与数据结构基础 - 合并查找(Union Find)
Union Find算法基础 Union Find算法用于处理集合的合并和查询问题,其定义了两个用于并查集的操作: Find: 确定元素属于哪一个子集,或判断两个元素是否属于同一子集 Union: 将 ...
- 算法与数据结构基础 - 图(Graph)
图基础 图(Graph)应用广泛,程序中可用邻接表和邻接矩阵表示图.依据不同维度,图可以分为有向图/无向图.有权图/无权图.连通图/非连通图.循环图/非循环图,有向图中的顶点具有入度/出度的概念. 面 ...
- HDU 6318 Swaps and Inversions(归并排序 || 树状数组)题解
题意:一个逆序对罚钱x元,现在给你交换的机会,每交换任意相邻两个数花钱y,问你最少付多少钱 思路:最近在补之前还没过的题,发现了这道多校的题.显然,交换相邻两个数逆序对必然会变化+1或者-1,那我们肯 ...
- codeforce E - Binary Inversions题解
题目: 给你一个01串,现在你可以(或者不用)选取其中一个元素进行一次反转操作0-1,1-0:从而使得串中的逆序对个数最多. 题目链接:codeforce origin problem 思路: 1. ...
- LeetCode All in One题解汇总(持续更新中...)
突然很想刷刷题,LeetCode是一个不错的选择,忽略了输入输出,更好的突出了算法,省去了不少时间. dalao们发现了任何错误,或是代码无法通过,或是有更好的解法,或是有任何疑问和建议的话,可以在对 ...
- POJ 3279(Fliptile)题解
以防万一,题目原文和链接均附在文末.那么先是题目分析: [一句话题意] 给定长宽的黑白棋棋盘摆满棋子,每次操作可以反转一个位置和其上下左右共五个位置的棋子的颜色,求要使用最少翻转次数将所有棋子反转为黑 ...
- HDU1789(Doing Homework again)题解
HDU1789(Doing Homework again)题解 以防万一,题目原文和链接均附在文末.那么先是题目分析: [一句话题意] 给定任务分数和其截止日期,每日可完成一任务,输出当罚分尽可能小时 ...
- 算法(第四版)C# 习题题解——2.5
写在前面 整个项目都托管在了 Github 上:https://github.com/ikesnowy/Algorithms-4th-Edition-in-Csharp 查找更方便的版本见:https ...
- 算法(第四版)C# 习题题解——2.2
写在前面 整个项目都托管在了 Github 上:https://github.com/ikesnowy/Algorithms-4th-Edition-in-Csharp 查找更为方便的版本见:http ...
随机推荐
- jQuery实现简单的模态框
<!-- jquery模态框 --> <!DOCTYPE html> <html lang="en"> <head> <met ...
- 7.13晚考试总结(NOIP模拟14)[队长快跑·影魔·抛硬币]
樱花满地集于我心,楪舞纷飞祈愿相随 前言 终于没有令人头疼的数学了,总感觉这次考试的题目比较良心. 尤其是对于部分分的明细就非常到位(不像上一场的凭感觉给出部分分). 这就令我这种靠部分分暴力的菜鸡选 ...
- LeetCode 409. Longest Palindrome 最长回文串(C++/Java)
题目: Given a string which consists of lowercase or uppercase letters, find the length of the longest ...
- SpringBoot系列(三)元注解
元注解,注解的注解,SpringBoot有四个元注解,分别是@Target.@Retention.@Documented.@Inherited.下面就是对元注解的详细讲解和源码展示. @Taget 该 ...
- 打开 gpedit.msc 组策略时弹出错误提示,"找不到资源 string.Advanced_EnableSSL3Fallback ”。
原因是升级到 IE9 或者 IE 11 语言包没有及时更新. 解决方案一:用360再打补丁. 方案二:未尝试. https://www.microsoft.com/en-us/download/con ...
- svn服务端安装和使用
首先去官网下载安装包 点我下载 下载完了以后选择安装路径然后一直next就可以了 安装完了以后在开始菜单里面找到svn 打开 如何使用? 这里是创建代码管理的存储库 点击 repositories ...
- Flash驱动控制--芯片擦除(SPI协议)
摘要: 本篇博客具体包括SPI协议的基本原理.模式选择以及时序逻辑要求,采用FPGA(EPCE4),通过SPI通信协议,对flash(W25Q16BV)存储的固化程序进行芯片擦除操作. 关键词:SPI ...
- HTTP常见状态及其含义
HTTP常见状态及其含义 200: 请求成功 301: 被请求的资源已永久移动到新位置 302: 请求的资源现在临时从不同的URI响应请求 400: 1,语义有误当前请求无法被服务器理解2,请求参数有 ...
- 《Objective-C Direct Methods》学习笔记
原文通过对Objective-C发展史.Objective-C中Runtime的动态派发,C语言的直接派发进行铺垫介绍,引出了direct methods这个"新特性"(文章写于2 ...
- Atcoder Beginner Contest 324 F Beautiful Path 题解-分数规划
为了更好的阅读体验,请点击这里 分数规划小技巧:尽可能将式子写成存在某种取值,使得不等式成立的形式. 不然可能需要绕几个弯才能想出来. 题目链接 题目大意:给出一个 DAG,每条边有一个 \(b_i, ...