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

中国和城乡建设部网站首页佳木斯seo

中国和城乡建设部网站首页,佳木斯seo,我做的网站怎样推广,网站独立ip有什么好处题目大意: 给定\(n\),\(k\),\(mod\),求随机排列在\(k\)层归并排序下逆序对的期望。 题解 考虑这\(k\)层归并会把序列分成若干个块。 这些块内的顺序是原序列的相对顺序,我们要把这些序列归并起来。 考虑一个块内&#…

题目大意:

给定\(n\)\(k\)\(mod\),求随机排列在\(k\)层归并排序下逆序对的期望。

题解

考虑这\(k\)层归并会把序列分成若干个块。

这些块内的顺序是原序列的相对顺序,我们要把这些序列归并起来。

考虑一个块内,每对元素都会有\(\frac{1}{2}\)的概率成为一个逆序对.

所以每个块的贡献就是\(\binom{n}{2}\frac{1}{2}\)

再考虑块之间的贡献,对于两个元素不在一个块内,考虑这两个元素到它们的块头的序列。如果这两个序列的最大值是这两个元素之一,那么它们肯定不会成为逆序对(思考归并排序的过程),否则它们的位置关系就和它们本身无关了,那么它们成为逆序对的概率还是\(\frac{1}{2}\),最后就是\(\frac{i+j-2}{2*(i+j)}\)

所以我们枚举每种块的长度值算一下就好了。

代码

#include<bits/stdc++.h>
#define N 100009
using namespace std;
typedef long long ll;
int n,k,mod;
ll inv[N],sum[N],ans;
map<int,int>tong;
map<int,int>::iterator it1,it2;
inline ll rd(){ll x=0;char c=getchar();bool f=0;while(!isdigit(c)){if(c=='-')f=1;c=getchar();}while(isdigit(c)){x=(x<<1)+(x<<3)+(c^48);c=getchar();}return f?-x:x;
}
inline ll power(ll x,ll y){ll ans=1;while(y){if(y&1)ans=ans*x%mod;x=x*x%mod;y>>=1;}return ans;
}
inline void MOD(ll &x){x=x>=mod?x-mod:x;}
inline ll C(ll n){return n*(n-1)/2%mod;}
inline void solve(int l,int r,int k){if(k==1||l==r){tong[r-l+1]++;return;}int mid=(l+r)>>1;solve(l,mid,k-1);solve(mid+1,r,k-1);
}
inline ll calc(int a,int b){ll ans=1ll*a*b%mod*inv[2]%mod;for(int i=1;i<=a;++i)MOD(ans=ans-(sum[i+b]-sum[i])+mod);return ans;
}
int main(){n=rd();k=rd();mod=rd();for(int i=1;i<=n;++i)inv[i]=power(i,mod-2),MOD(sum[i]=sum[i-1]+inv[i]);solve(1,n,k);for(it1=tong.begin();it1!=tong.end();++it1){MOD(ans+=C(it1->first)*inv[2]%mod*it1->second%mod);MOD(ans+=C(it1->second)*calc(it1->first,it1->first)%mod);}for(it1=tong.begin();it1!=tong.end();++it1)for(it2=tong.begin();it2!=tong.end();++it2){if(it1->first<=it2->first)break;MOD(ans+=1ll*it1->second*it2->second%mod*calc(it1->first,it2->first)%mod);   }cout<<ans;return 0;
}

转载于:https://www.cnblogs.com/ZH-comld/p/11028244.html

http://www.lbrq.cn/news/2344105.html

相关文章:

  • 建邺区住房 建设 网站怎么推广自己的网站?
  • 目前电商平台排名网站seo优化效果
  • 网站搭建与网站建设搜索引擎营销方法有哪些
  • 做视频网站好做吗aso优化服务
  • 网站建设怎么弄建站服务
  • 广州可以做票务商城的网站公司百度站长收录
  • 互助县公司网站建设客户关系管理系统
  • 免费个人手机网站关键词优化推广策略
  • 新浪做网站/谷歌seo怎么优化
  • 汕头模板网建站/搜索推广营销
  • 温州做美食网站/网络推广方法有哪几种
  • seo擦边球网站/广告公司职位
  • 网站建设社会实践成果/安徽建站
  • 富顺做网站/百度广告官网
  • 网站开发 动易/安卓优化
  • 长春网络建站/seo外链资源
  • 网站图怎么做会高清图片/百度小说排行榜2020
  • 简繁英3合1企业网站生成管理系统/怎样在百度上做广告
  • 广州做网站 timhi/广告安装接单app
  • 黔东网站建设/十大洗脑广告
  • 桂平逗乐游戏招聘网站开发/拉新app推广接单平台
  • 网站建设摘要/优化网站排名
  • 网站建设与seo论文/丁的老头seo博客
  • 学做网站的视频/镇江网站定制
  • 庆阳定制网站/淘宝补流量平台
  • 企业网站优化外包/成都网站推广哪家专业
  • 多后缀域名查询网站/外贸互联网推广的
  • 嘉兴做网站建设的公司/网站自动秒收录工具
  • 网站设计公司佛山/百度热搜词排行榜
  • wordpress翻译教程/当阳seo外包
  • 鸿蒙开发NDK之---- 如何将ArkTs的类型转化成C++对应的类型(基础类型,包含部分代码解释)
  • C++ 中常见的字符串定义方式及其用法
  • 零基础 “入坑” Java--- 十一、多态
  • wpf 实现窗口点击关闭按钮时 ​​隐藏​​ 而不是真正关闭,并且只有当 ​​父窗口关闭时才真正退出​​ 、父子窗口顺序控制与资源安全释放​
  • 实战:如何创建 AWS RDS 数据库
  • 小波变换 | Haar 小波变换