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

网站建设支付网站模板有后台

网站建设支付,网站模板有后台,wordpress新建页面关于我们,广州软件定制公司洛谷P1774 题目#xff1a;登录 - Luogu Spilopelia​​​​​​ 为什么最小的交换次数就是逆序对的个数#xff0c;请看相关证明 1、归并排序 // 归并排序解法 #includeiostream #includecstring #includealgorithm using namespace std; con…洛谷P1774  题目登录 - Luogu Spilopelia​​​​​​ 为什么最小的交换次数就是逆序对的个数请看相关证明 1、归并排序 // 归并排序解法 #includeiostream #includecstring #includealgorithm using namespace std; const int N 5e5 10; typedef long long ll; int a[N],b[N]; int n; ll ans 0; void merge(int l,int r) {if(lr) return;int mid l r 1;merge(l,mid),merge(mid 1,r);int k 0,i l,j mid 1;while(imidjr)if(a[i]a[j]) b[k] a[i];else {ans mid - i 1;b[k] a[j];}while(imid)b[k] a[i];while(jr) b[k] a[j];for(int i l,j 0;ir;i,j) a[i] b[j]; } int main() {scanf(%d,n);for(int i 0;in;i) scanf(%d,a[i]);merge(0,n-1);printf(%lld\n,ans);return 0; } 2、树状数组 进行离散化之后赋予排名排名的数字越小则说明数字越小相同值的话先出现的排名数字越小。然后可以正着也可以反着进行求 // 树状数组的解法 #includeiostream #includealgorithm #includecstring using namespace std; typedef long long ll; const int N 5e5 10; int tr[N],ranks[N]; int n; struct Node {int num,id; }a[N]; bool cmp(Node a,Node b) {if(a.num!b.num)return a.num b.num;return a.id b.id; } int lowbit(int x){return x -x; } void add(int x,int v) {for(int i x;in;ilowbit(i))tr[i] v; } ll query(int x) {ll res 0;for(int i x;i;i-lowbit(i))res tr[i];return res; }int main() {scanf(%d,n);for(int i 1;in;i) {scanf(%d,a[i].num);a[i].id i;}sort(a 1,a 1 n,cmp);for(int i 1;in;i) ranks[a[i].id] i;ll ans 0;// 正向求解 for(int i 1;in;i){add(ranks[i],1);ans i - query(ranks[i]);}/*反向求解 for(int i n;i1;i--){add(ranks[i],1);ans query(ranks[i]-1);}*/printf(%lld,ans);return 0; } 3、线段树 离散化之后对每一个排名 比如说当求到ranks[3] 的时候看看在它之前有没有 4 - ----n的数字出现询问以后把update(ranks[3],1)加到线段树里面去代表贡献了1. #includeiostream #includecstring #includealgorithm using namespace std; const int N 1e6; int ranks[N]; int sum[4*N]; struct Node {int num,id; }a[N]; typedef long long ll; bool cmp(Node a,Node b) {if(a.num!b.num) return a.num b.num;return a.id b.id; } void pushup(int x) {sum[x] sum[x*2] sum[x*21]; } void build(int l,int r,int x) {if(l r) {sum[x] 0;return;}int mid l r 1;build(l,mid,x*2);build(mid 1,r,x*2 1);pushup(x); } void update(int pos,int l,int r,int x,int v) {if(l r){sum[x] v;return;}int mid l r 1;if(posmid) update(pos,l,mid,x*2,v);else update(pos,mid 1,r,x*21,v);pushup(x); } long long query(int pl,int pr,int l,int r,int x) {if(pllrpr) return sum[x];int mid l r1;long long ans 0;if(plmid) ans query(pl,pr,l,mid,x*2);if(prmid) ans query(pl,pr,mid 1,r,x*21);return ans; } int main() {int n;scanf(%d,n);build(1,n,1);for(int i 1;in;i){scanf(%d,a[i].num);a[i].id i;}sort(a1,a1n,cmp);for(int i 1;in;i)ranks[a[i].id] i;ll ans 0;n;for(int i 1;in-1;i){ans query(ranks[i]1,n,1,n,1);update(ranks[i],1,n,1,1);}printf(%lld,ans);return 0; }
http://www.zqtcl.cn/news/191965/

相关文章:

  • 做网站首页图的规格网站建设的市场分析
  • a032网站模版自己建立网站怎么建
  • wordpress.商品厦门做网站优化价格
  • 学校网站建设源码视频生成链接网站
  • 江苏建设工程招投标网站wordpress 全部tags
  • 十堰网站建设有哪些公司wordpress删除摘要
  • 网站的功能和特色网页设计公司哪个济南兴田德润实惠吗
  • 汕头建站模板泰安建设银行网站
  • 服装平台网站有哪些网站开发 零基础
  • 致设计网站官网建设购物网站需要多少费用
  • 网站后台程序河南政务网站建设排名
  • 重庆建站网站建设平台wordpress插件使用数量
  • 规范网站建设情况的报告政务服务网站建设性建议
  • 麻涌做网站个人证书查询网全国联网
  • 做毕业设计网站的步骤那家做网站比较好
  • 网站开发学习网wordpress 数据库 插件
  • 企业公司官网网站做网站怎样做
  • 网站建设 今网科技电商网站建设布局
  • 最优惠的网站优化管理培训机构
  • p2p网站建设广州深圳网站设计公司哪家好
  • 福州网站设计哪里好泰安网站建设入门推荐
  • 北京网站软件制作外卖网站开发
  • 个人网站建设与实现建立个公司网站
  • 南昌招商网站建设临沂兰山建设局网站
  • 母婴网站建设怎么样可以做网站
  • 二手车 网站开发wordpress 定时 检查
  • 淮南官网济南seo优化外包
  • 沈阳网站建设莫道网络网站建设常用六大布局
  • 网站建设外文版要求网站关键字优化销售
  • 马来西亚做公路投标网站设计网页多少钱