树状数组专题(四)POJ3067
来源:互联网 发布:蓝凌软件好用吗 编辑:程序博客网 时间:2024/06/05 05:02
//本题大意..类似于寻找坐标上的左上角的点的sum
#include<stdio.h>
#include<stdlib.h>#include<string.h>
#include<vector>
#include<iostream>
#include<math.h>
#include<algorithm>
const int inf = 0x3f3f3f;
const int MN = 1100000;
using namespace std;
int tree[11111];
int maxn,n,m,k,test;
struct Road
{
int beg,end;
Road(int beg1 , int end1):beg(beg1),end(end1) {}
Road() {};
bool operator < (const Road &tmp) const
{
if(end < tmp.end)return 0;
if(end > tmp.end)return 1;
if(end == tmp.end)
{
if(beg < tmp.beg)return 0;
else return 1;
}
}
};
Road road[MN];
int Lowbit(int x)
{
return x&(-x);
}
int Getsum(int x)
{
int sum = 0;
while(x > 0)
{
sum += tree[x];
x -= Lowbit(x);
}
return sum;
}
void Updata(int x)
{
for(int i = x ; i <= n ; i += Lowbit(i))
{
tree[i] ++;
}
}
int main()
{
while(scanf("%d",&test) != EOF)
{
for(int p = 1 ; p <= test ; p++)
{
scanf("%d%d%d",&n,&m,&k);
memset(tree,0,sizeof(tree));
maxn = 0;
for(int i = 0 ; i < k ; i++)
{
scanf("%d%d",&road[i].beg,&road[i].end);
maxn = max(maxn,road[i].beg);
}
sort(road,road+k);
// for(int i = 0 ; i < k ; i++)
// printf("%d %d\n",road[i].beg,road[i].end);
__int64 ans = 0;
for(int i = 0 ; i < k ;)
{
int vis;
for(int j = i ; road[j].beg == road[i].beg && j < k; j++)
{
ans += Getsum(road[j].beg-1);
vis = j;
}
for(int j = i ; j <= vis ; j++)
Updata(road[j].beg);
i = vis+1;
}
printf("Test case %d: %I64d\n",p,ans);
}
}
}
- 树状数组专题(四)POJ3067
- POJ3067--Japan(树状数组)
- POJ3067 Japan(树状数组)
- POJ3067-Japan(树状数组)
- poj3067(树状数组求逆序数)
- POJ3067(树状数组逆序对)
- POJ3067(树状数组||线段树)
- Japan poj3067--树状数组
- 树状数组POJ3067
- POJ3067树状数组
- poj3067---树状数组
- poj3067之树状数组
- poj3067 Japan(树状数组)
- POJ3067 Japan 树状数组
- poj3067 Japan (树状数组)
- POJ3067 Japan(树状数组)
- poj3067 树状数组
- poj3067 树状数组(Binary Indexed Tree)
- hibernate查询方式:HQL、SQL、Criteria方法、命名、动态分离查询、例子查询
- 总结了近百个Android优秀开源项目,覆盖Android开发的每个领域
- 使用新人,以赛代练
- 马琳:应该是最后一次参加军训 窝里横没有太大用
- K&R C Exercise 1-9 Solution
- 树状数组专题(四)POJ3067
- 调用一个按钮的Click事件(利用反射)。
- Android 通过字符串来获取R下面资源的ID 值
- tintin_studio mini51开发板简介
- 2 SQL Tests
- 【Machine Learning实验3】SoftMax regression
- git详细介绍
- 关于SaaS的一点理解
- ejb 学习:遇到错误:LazyInitializationException.<init> : failed to lazily initialize a collection of role: