题目链接

题意就是:

在大海的西岸和东岸分别有沿着南北方向的城市,给出了k条从东岸到西岸的路,求这些路的交点。

线段树,挺基础的吧。

挺水的吧。

AC   code

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define lowbit(k) k&-k
using namespace std;
typedef long long LL;
const int M=1e6+6;
int n,m,k;
int Max;
struct node{int a,b;node(){};node(int aa,int bb){a=aa,b=bb;}bool operator <(const node &t)const{return a==t.a?b<t.b:a<t.a;}
};
LL tree[M<<1];
node record[M];
void pre()
{for(int i=1;;i+=lowbit(i)){if(i>=M){Max=i;break;}}
}
LL query(int x)
{int sum=0;for(int i=x;i>=1;i-=lowbit(i)){sum+=tree[i];}return tree[Max]-sum;
}
void   update(int x)
{for(int i=x;i<=Max;i+=lowbit(i))tree[i]++;return ;
}
int main()
{int T;pre();while(cin>>T){for(int j=1;j<=T;++j){memset(tree,0,sizeof(tree));scanf("%d%d%d",&n,&m,&k);for(int i=1;i<=k;++i){scanf("%d%d",&record[i].a,&record[i].b);}sort(record+1,record+k+1);LL ans=0;for(int i=1;i<=k;++i){ans+=query(record[i].b);update(record[i].b);}printf("Test case %d: ",j);cout<<ans<<endl;}}
}

Japan POJ - 3067相关推荐

  1. poj 3067 Japan

    Japan 题目链接:点击打开链接 解题思路:自己本人也是刚刚接触树状数组,并且也知道树状数组可以求逆序数,但是第一眼还是看不透这个题能用逆序数. 首先,这个题有个规律,凡是能有交叉的线,都有一个规律 ...

  2. POJ 3067 Japan【树状数组】

    题目 Japan plans to welcome the ACM ICPC World Finals and a lot of roads must be built for the venue. ...

  3. POJ - 3067

    第二天叫醒我的不是闹钟,是梦想! Japan plans to welcome the ACM ICPC World Finals and a lot of roads must be built f ...

  4. 树状数组 之 poj 3067

    这道题和 poj 2481 极其相似...但wa了几次... 原因: 1)对于结果和存储树状数组求和的变量,采用 long long 来保存: 2)从东海岸 number x,到西海岸 number ...

  5. poj 3067 树状数组

    这题的关键是方法.怎么才是相交的呢?一种方法是线段a的左边比线段b的左边小,同时a的右边比b的右边大.这时就可以构成一个相交.于是,我们可以根据左边的值来做降序排列,然后根据线段树来统计crosses ...

  6. POJ 2481 Cows

    传送门:POJ 2481 Cows Time Limit: 3000MS Memory Limit: 65536K Problem Description Farmer John's cows hav ...

  7. 【转载】树状数组题目

    先提个注意点,由于Lowbit(0) = 0,这会导致x递增的那条路径发生死循环,所有当树状数组中可能出现0时,我们都全部加一,这样可以避免0带来的麻烦-- 简单:       POJ 2299 Ul ...

  8. 如此好的树状数组学习资料

    树状数组学习系列1 之 初步分析--czyuan原创 其实学树状数组说白了就是看那张图,那张树状数组和一般数组的关系的,看懂了基本就没问题了,推荐下面这个教程:http://www.topcoder. ...

  9. 浅谈线段树(Segment Tree)

    线段树的概念与性质 线段树首先是一棵树,而且是二叉树.树上的每个节点对应于一个区间[a,b],a,b通常为整数.同一层的节点所代表的区间,互相不重叠.并且同一层的区间加起来是连续的区间,叶子节点的区间 ...

最新文章

  1. 浅谈软件自动化集成测试的流程
  2. 重磅直播 | 多传感器标定原理及方案介绍(阿里云AI Lab)
  3. 有趣而又被忽略的Unity技巧
  4. 网站推广——专业网站推广浅析企业网站排名有哪些影响因素?
  5. hdu1465 不容易系列之一(错排问题)
  6. JAVA学习笔记04
  7. 0x0000050蓝屏srvsys_win7电脑出现蓝屏0x00000050提示srv.sys如何解决[多图]
  8. C++智能指针 shared_ptr、weak_ptr
  9. JSP的四大作用域和九大内置对象
  10. 清空计算机网络缓存,【缓存清理工具】缓存清理软件_电脑缓存清理软件【最新】-太平洋电脑网...
  11. 使用Sonatype Nexus搭建Maven镜像的几点注意事项
  12. 带你剖析鸿蒙轻内核任务栈的源代码
  13. python自动化办公实例-python自动化测试实例解析
  14. linux下安装打字软件,linux系统指法练习与打字游戏软件
  15. 数论基础(浅谈数论的部分实现)
  16. PS_01_基本操作
  17. [资源]C++书籍之 C++ Primer Plus (第6版)中文版
  18. 软件测试正交矩阵,正交矩阵在测试用例设计中的应用
  19. java判断闰年条件
  20. mintUI MessageBox confirm弹框确认和取消按钮的使用-回调

热门文章

  1. 基于SpringBoot+Vue的前后端分离开发汽车之家资讯论坛系统设计与实现
  2. 关于我写了三万字博客后悔了好久这件事之第二个三万字GUI(swing)
  3. Things3 3.13.13 一款优秀的GTD任务管理工具
  4. 2021年程序人生的随想总结
  5. html中显示页面布局,如何让打开的网页显示在一个页面上
  6. 工厂模式--简单工厂模式--抽象工厂模式
  7. 《零基础入门学习Python》第031讲:永久存储:腌制一缸美味的泡菜
  8. Failed to transform file 'xxx' to match attributes 的解决办法
  9. 南昌大学计算机考研2021,2021南昌大学考研参考书目
  10. h.265系列快速操作指南_H2O-快速指南