Codeforces Round #212 (Div. 2) C. Insertion Sort 思维

传送门

文章目录

  • 题意:
  • 思路:

题意:

在这里插入图片描述
n≤5000n\le5000n5000

思路:

dpdpdp题集中看到的,一看n≤5000n\le5000n5000,这不就乱搞就行了,哪有什么dpdpdp🦆。
看到冒泡排序,一般跟逆序对脱不了关系了,所以定义change[i][j]change[i][j]change[i][j]表示将iii放到jjj位置的时候逆序对变化数量,这个可以O(n2)O(n^2)O(n2)预处理出来,让后n2n^2n2枚举i,ji,ji,j计算答案就行了。

// Problem: C. Insertion Sort
// Contest: Codeforces - Codeforces Round #212 (Div. 2)
// URL: https://codeforces.com/problemset/problem/362/C
// Memory Limit: 256 MB
// Time Limit: 2000 ms
// 
// Powered by CP Editor (https://cpeditor.org)//#pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast-math")
//#pragma GCC target("sse,sse2,sse3,ssse3,sse4.1,sse4.2,avx,avx2,popcnt,tune=native")
//#pragma GCC optimize(2)
#include<cstdio>
#include<iostream>
#include<string>
#include<cstring>
#include<map>
#include<cmath>
#include<cctype>
#include<vector>
#include<set>
#include<queue>
#include<algorithm>
#include<sstream>
#include<ctime>
#include<cstdlib>
#define X first
#define Y second
#define L (u<<1)
#define R (u<<1|1)
#define pb push_back
#define mk make_pair
#define Mid (tr[u].l+tr[u].r>>1)
#define Len(u) (tr[u].r-tr[u].l+1)
#define random(a,b) ((a)+rand()%((b)-(a)+1))
#define db puts("---")
#define lowbit(x) ((x)&(-x))
using namespace std;//void rd_cre() { freopen("d://dp//data.txt","w",stdout); srand(time(NULL)); }
//void rd_ac() { freopen("d://dp//data.txt","r",stdin); freopen("d://dp//AC.txt","w",stdout); }
//void rd_wa() { freopen("d://dp//data.txt","r",stdin); freopen("d://dp//WA.txt","w",stdout); }typedef long long LL;
typedef unsigned long long ULL;
typedef pair<int,int> PII;const int N=5010,mod=1e9+7,INF=0x3f3f3f3f;
const double eps=1e-6;int n;
int a[N];
LL tr[N];
int change[N][N];int main()
{
//	ios::sync_with_stdio(false);
//	cin.tie(0);cin>>n;for(int i=1;i<=n;i++) {scanf("%d",&a[i]);int cnt1,cnt2; cnt1=cnt2=0;for(int j=i-1;j>=1;j--) {change[i][j]=cnt1-cnt2;if(a[j]<a[i]) cnt1++;else cnt2++;}}for(int i=n;i>=1;i--) {int cnt1,cnt2; cnt1=cnt2=0;for(int j=i+1;j<=n;j++) {change[i][j]=cnt2-cnt1;if(a[j]<a[i]) cnt1++;else cnt2++;}}int sum=0;for(int i=1;i<=n;i++) {for(int j=i+1;j<=n;j++)sum+=a[i]>a[j];}int ans=INF,cnt=0;for(int i=1;i<=n;i++) {for(int j=i+1;j<=n;j++) {int add=0;if(a[i]<a[j]) add++;else add--;add+=change[i][j]+change[j][i];if(add<ans) ans=add,cnt=1;else if(add==ans) cnt++; }}cout<<sum+ans<<' '<<cnt<<endl;return 0;
}
/**/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/315145.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Abp vNext 源码分析] - 4. 工作单元

一、简要说明统一工作单元是一个比较重要的基础设施组件&#xff0c;它负责管理整个业务流程当中涉及到的数据库事务&#xff0c;一旦某个环节出现异常自动进行回滚处理。在 ABP vNext 框架当中&#xff0c;工作单元被独立出来作为一个单独的模块(Volo.Abp.Uow)。你可以根据自己…

使用 Cake 推送 NuGet 包到 AzureDevops 的 Artifacts 上

大家好&#xff0c;我最近在想如何提交代码的时候自动的打包 NuGet 然后发布到 AzureDevOps 中的 Artifacts&#xff0c;在这个过程中踩了很多坑&#xff0c;也走了很多弯路&#xff0c;所以这次篇文章就是将我探索的结果和我遇到的一些问题整理分享给大家。我的上一篇关于 CI/…

了解Kubernetes主体架构(二十八)

前言 Kubernetes的教程一直在编写&#xff0c;目前已经初步完成了以下内容&#xff1a;1&#xff09;基础理论2&#xff09;使用Minikube部署本地Kubernetes集群3&#xff09;使用Kubeadm创建集群接下来还会逐步完善本教程&#xff0c;比如Helm、ELK、Windows Serv…

Codeforces Round #632 (Div. 2) F. Kate and imperfection 数论 + 贪心

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; n≤5e5n\le5e5n≤5e5 思路&#xff1a; 首先有个显然的结论&#xff1a;当往集合中加入一个数xxx的时候&#xff0c;如果存在d∣xd|xd∣x且ddd不在集合中&#xff0c;那么加入ddd一定比加入xxx更优。 也就是…

.NET开发框架(二)-框架功能简述

本框架为响应式SPA框架&#xff0c;支持PC与手机端的屏幕自适应。手机展示效果视频在文章末尾查看。框架入口地址&#xff1a;http://letyouknow.net/1、框架登录界面&#xff0c;输入账号与密码&#xff0c;点击立即登录2、框架主界面&#xff0c;左-右结构&#xff0c;左边为…

Codeforces Round #632 (Div. 2) E. Road to 1600 构造好题

传送门 文章目录题意&#xff1a;思路题意&#xff1a; 直接白嫖 思路 首先不难发现&#xff0c;n≤2n\le2n≤2的时候是无解的。 现在我们来构造n3n3n3的情况&#xff0c;通过打表可以发现如下矩阵是符合题目要求的&#xff1a; 179325486\begin{array}{ccc} 1&7&9…

SiteServer CMS 新版本 V6.11(2019年7月1日发布)

欢迎来到 SiteServer CMS V6.11版本&#xff08;.NET CORE V7.0预览版本将推迟至2019年9月1日发布&#xff09;&#xff0c;经过两个月的连续迭代开发&#xff0c;V6.11 版本新增了采集插件以及多项BUG修复&#xff1a;SS.Gather 页面采集插件页面采集插件将在V6.11版本中正式提…

P1020 [NOIP1999 普及组] 导弹拦截 Dilworth定理 + dp

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 思路&#xff1a; 对于第一问直接输出最长不严格下降子序列即可&#xff0c;第二问是Dilworth定理&#xff0c;变形比较多&#xff0c;之前也写过类似的&#xff0c;这里贴个证明。 //#pragma GCC optimiz…

参数传递机制之JWT

1. 什么是 JWTJWT 其全称为&#xff1a;JSON Web Token&#xff0c;简单地说就是 JSON 在 Web 上的一种带签名的标记形式。官方的定义如下&#xff1a;JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties.…

Codeforces Round #709 (Div. 1) B. Playlist 链表维护 + bfs

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 思路&#xff1a; 紧跟刘爷脚步补题。 不难想到用链表维护下一个数是什么&#xff0c;这样就跟以前做过的一个题差不多了&#xff0c;首先将初始的时候删掉的点的前一个点即为题目中的AAA入队&#xff0c;让…

浅谈ASP.NET Core中IOC与DI的理解和使用

说起IOC和DI,使用过ASP.NET Core的人对这两个概念一定不陌生&#xff0c;早前&#xff0c;自己也有尝试过去了解这两个东西&#xff0c;但是一直觉得有点很难去理解&#xff0c;总觉得对其还是模糊不清&#xff0c;所以&#xff0c;趁着今天有空&#xff0c;就去把两个概念捋清…

一个通用数据库操作组件DBUtil(c#)、支持SqlServer、Oracle、Mysql、postgres、SQLITE

这是一个.net下操作数据库(结构数据库)的工具类&#xff0c;支持sqlserver、oracle、mysql、postgres、sqlite、access等常见数据库。注意&#xff1a;它并不是一个orm工具(常见的orm框架如&#xff1a;EF、Dapper等)。2.1 引入DBUtil依赖1. 首先打开vs(推荐vs2019)&#xff0c…

Educational Codeforces Round 37 (Rated for Div. 2) E. Connected Components? 暴力 + 补图的遍历

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; n≤2e5,m≤2e5n\le2e5,m\le2e5n≤2e5,m≤2e5。 思路&#xff1a; 这是题是我上个题的一部分&#xff0c;算是个小知识点&#xff0c;暴力能过。 直接维护一个setsetset&#xff0c;让后遍历所有点&#xff…

初探System.Threading.Channels

。System.Threading.Channels是.Net Core基础类库中实现的一个多线程相关的库&#xff0c;专门处理数据流相关的操作&#xff0c;用来在生产者和订阅者之间传递数据&#xff08;不知道可不可以理解为线程间传递数据&#xff0c;我把它类比成了Go语言中的Channel&#xff09;&am…

Codeforces Round #715 (Div. 1) B. Almost Sorted 找规律

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 思路&#xff1a; 找规律yydsyydsyyds。 一看没什么想法&#xff0c;所以打了个表&#xff0c;好家伙&#xff0c;不打不知道&#xff0c;一打不得了&#xff0c;下面是n6n6n6的符合要求的情况&#xff1a; …

SQL Server之索引解析(二)

、堆表堆表通过IAM连接一起&#xff0c;查询时全表扫描。1、1 非聚集索引结构叶子节点数据结构&#xff1a;行数据结构Rid&#xff08;8字节&#xff09;中间节点数据结构&#xff1a; &#xff08;非聚集非唯一索引&#xff09;行数据结构Page&#xff08;4&#xff09;2 Rid&…

纠正一个错误,分布式系统关注点第17篇

这里是Z哥的个人公众号每周五早8点 按时送达当然了&#xff0c;也会时不时加个餐&#xff5e;我的第「78」篇原创敬上今天来加个餐&#xff0c;紧急纠正一个错误。先和大家说一声抱歉&#xff1a;D昨晚睡觉前&#xff0c;惯例打开「订阅号助手」回复一些留言。有一位小伙伴提了…

【NOI2016】国王饮水记【贪心】【斜率优化】【决策单调性】

传送门 首先比h1h_1h1​小的肯定没用&#xff0c;直接无视 然后考虑合并的顺序 ①在无限制的情况下&#xff0c;合并多个不如一个一个合并 a<b<ca<b<ca<b<c时&#xff0c;ab2c2>abc3{{ab \over 2}c\over 2}>{{abc}\over 3}22ab​c​>3abc​ ②先…

CF946D Timetable 背包dp + 思维转换

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; n,m,k≤500n,m,k\le500n,m,k≤500 思路&#xff1a; 将其转换成背包的模型&#xff0c;就可以想出来一个很明显的dpdpdp状态&#xff1a;f[i][j]f[i][j]f[i][j]表示前iii行花费了jjj的最小代价&#xff0c;…

.NET开发框架(三)-高可用服务器端设计

我们对框架功能作了简述&#xff0c;演示视频请点击 这里查看 &#xff0c;本章节&#xff0c;我们专门讲解一下&#xff0c;如何在Window服务器下&#xff0c;设计高可用的框架。我们的框架设计采用的是Window版本的服务端设计&#xff1a;整体框架图如下&#xff0c;为什么我…