【CF 459D】 Pashmak and Parmida's problem
2015-08-08 18:33
246 查看
【CF 459D】 Pashmak and Parmida’s problem
预处理+线段树求逆序对 新学了树状数组 很适合这题 来一发
代码如下:
预处理+线段树求逆序对 新学了树状数组 很适合这题 来一发
代码如下:
#include <iostream> #include <cstdio> #include <cstdlib> #include <map> #include <cstring> #define ll long long using namespace std; map <int,int> mp; int l[1111111],r[1111111]; int num[1111111]; int tr[1111111]; int sum[1111111]; int Bite(int x) { return (x&(-x)); } int Getsum(int x) { int s = 0; while(x) { s += sum[x]; x -= Bite(x); } return s; } void Add(int x,int n) { while(x <= n) { sum[x]++; x += Bite(x); } } int main() { int n,i,j,mm; ll ans = 0; scanf("%d",&n); mm = 0; for(i = 0; i < n; ++i) { scanf("%d",&num[i]); mp[num[i]]++; l[i] = mp[num[i]]; mm = max(mm,l[i]); } mp.clear(); for(i = n-1; i >= 0; --i) { mp[num[i]]++; r[i] = mp[num[i]]; } memset(sum,0,sizeof(sum)); for(i = n-1; i > 0; --i ) { Add(r[i],mm); ans += Getsum(l[i-1]-1); } printf("%I64d\n",ans); return 0; }
相关文章推荐
- 串行卧重建10:小设计,而不是大布局
- JS - 图片放大器
- Mac 常用软件下载
- Win10通用程序 UWP版HtmlAgilityPack UWP应用使用示例
- 智力题:1-28题
- java 静态代码块详解
- C#-WinForm登录窗体实现记住密码的功能(仿QQ实现)
- STP 标准生成树
- UIViewController - View Management(视图管理)
- 不应该学太多
- Android 属性动画(Property Animation) 完全解析 (下)
- (第七天)DOM练习一
- sendRedirect和getRequestDispatcher的一些区别
- 如何在面试中发现优秀程序员
- 加载大图片到Android内存
- HTML中的进度条标签的应用<progress>
- hdu 4807(网络流 + 贪心)
- Django静态文件配置
- win8.1 无法安装 net framework3.5 问题的解决方法
- c/c++下 long long与__int64不同编译环境的比较