poj 3067 树状数组
这题的关键是方法。怎么才是相交的呢?一种方法是线段a的左边比线段b的左边小,同时a的右边比b的右边大。这时就可以构成一个相交。于是,我们可以根据左边的值来做降序排列,然后根据线段树来统计crosses。
排名还在上升中。加油!
#include <iostream>#include <cstdio>#include <fstream>#include <algorithm>#include <memory.h> #define MAXN 1005using namespace std; int M,N,K; int C[MAXN];struct Node{int n,m;}nn[MAXN*MAXN]; bool cmp(Node a,Node b){if(a.m==b.m) return a.n>b.n; //避免同端点的也算进去。 else return a.m>b.m;}inline int lowbit(int i){return i&(-i);} void add(int i){for(;i<MAXN ;C[i]+=1,i+=lowbit(i)); } long long sum(int i){long long s=0;for(;i>0 ;s+=C[i],i-=lowbit(i));return s; } int main(){int Case;long long nSum;int i,j,x;//freopen("acm.in","r",stdin); scanf("%d",&Case);for(i=0 ;i<Case ;i++){ nSum=0; memset(C, 0, sizeof(C)); scanf("%d%d%d",&N,&M,&K);for(j=0 ;j<K ;j++) scanf("%d%d",&nn[j].n,&nn[j].m); sort(nn,nn+K,cmp);for(x=0 ;x<K ;x++){ nSum+=sum(nn[x].n-1); //这里加的是右边比它大而左边比它小的那些线与它的焦点//减一是为了避免左边的端点相同而多加一次。 add(nn[x].n); //这两个执行的顺序时关键 } printf("Test case %d: %lld\n",i+1,nSum); }return 0;}
poj 3067 树状数组相关推荐
- HDU 2689 POJ 2299 树状数组 + 离散化
以前都是直接树状数组裸奔,昨天一个题数据量好大,过不了,没办法只能学离散化,今天A了第一个离散化的题 #include<stdio.h> #include<string.h> ...
- poj 3928 树状数组
题目中只n个人,每个人有一个ID和一个技能值,一场比赛需要两个选手和一个裁判,只有当裁判的ID和技能值都在两个选手之间的时候才能进行一场比赛,现在问一共能组织多少场比赛. 由于排完序之后,先插入的一定 ...
- 树状数组 之 poj 3067
这道题和 poj 2481 极其相似...但wa了几次... 原因: 1)对于结果和存储树状数组求和的变量,采用 long long 来保存: 2)从东海岸 number x,到西海岸 number ...
- POJ 3067 Japan【树状数组】
题目 Japan plans to welcome the ACM ICPC World Finals and a lot of roads must be built for the venue. ...
- poj 2352 Stars 线段树(先建后查/边建边查)/树状数组三种方法思路详解,带你深入了解线段树难度⭐⭐⭐★
poj 2352 Stars 目录 poj 2352 Stars 1.树状数组 2.线段树,先建树后查找 3.线段树,边建树边查找 Description Astronomers often exam ...
- POJ 2481 Cows POJ 2352 Stars(树状数组妙用)
题目链接:POJ 2481 Cows POJ 2352 Stars 发现这两个题目都跟求逆序数有着异曲同工之妙,通过向树状数组中插入点的位置,赋值为1,或者++,然后通过求和来判断比当前 点 &quo ...
- poj 3321 Apple Tree(dfs序+树状数组求和模型)
题目链接:http://poj.org/problem?id=3321 解题思路: 先dfs求出序列,将子树转化到dfs序列的区间内,接下来就是简单的树状数组求和模型了.水题. #include< ...
- poj 2299 Ultra-QuickSort(树状数组求逆序数+离散化)
题目链接:http://poj.org/problem?id=2299 Description In this problem, you have to analyze a particular so ...
- POJ 2299 Ultra-QuickSort(树状数组 + 离散)
链接:http://poj.org/problem?id=2299 题意:给出N个数组成的数列A(0 <= A[i] <= 999,999,999),求该数列逆序对的数量. 分析:题目所谓 ...
最新文章
- C# API中的模型和它们的接口设计
- Scala学习 -- 基础语法
- 未能加载包studio package_Xrepo:一个现代化的跨平台 C/C++ 包管理器
- php时间函数单字母,ThinkPhp单字母函数
- java开发汉字显示不全_求java转码ISO-8859-1转UTF-8汉字显示不全补救方案?
- SQL2005 安装时 “性能监视器计数器要求(错误)” 解决方案
- 格力接受美国5.83亿巨额罚款!官方紧急回应...
- python multiprocessing.Lock 应用
- 直接访问WEB-INF目录下的JSP页面的方法
- python 监听tcp端口_创建TCP监听_创建TCP监听_功能示例_Python SDK示例_SDK 参考_开发指南_负载均衡 - 阿里云...
- python3生成随机数_python3实现随机数
- Redis安装及HA(High Availability)配置
- Intersecting Lines - POJ 1269(判断平面上两条直线的关系)
- Python3,10行代码,给pdf文件去水印,再也不用花费冤枉钱了。
- 十大管理之项目质量管理知识点
- STM32——新建 Keil MDK 5 工程(寄存器版本)
- 获取高德地图位置的经纬度
- Pool thread stack traces: Thread[C3P0PooledConnectionPoolManager[identityToken-原因解决办法
- A卡 HD5770(HD6770) Readon HD 5xxx 6xxx系列显卡黑苹果MOJAVE CATALINA QE/CI驱动教程
- 计算机组成原理-Chapter1 计算机系统概述
热门文章
- 【10-11】PR调色+多机位剪辑
- css table自适应斜线
- rono在oracle的作用_细节见真章,OPPO Reno多项品质测试,这才是最真实表现
- 2020少儿编程教育政策大汇总!
- 因果,稳定,无源,无损系统(1)
- Kanzi: kanzi 学习:kanzi触发器参考
- 华为路由器ws5200虚拟服务器,华为路由器配置dhcp怎么弄?华为路由WS5200设置DHCP服务器方法...
- 百分点认知智能实验室:如何打造工业级的机器翻译
- 写给还在迷茫中的朋友,一名6年程序员的工作感悟!!!
- php 五舍六入,四舍五入计算器 四舍五入、四舍六入五取偶(双)算法 - 数学公式 - 房贷计算器...