POJ - 2352 Stars(树状数组求解逆序对)
2015-10-16 22:40
411 查看
题目大意:给你N颗星星的坐标,问每个等级的星星有多少颗
解题思路:因为y是升序的,所以可以不考虑y了
求解星星所在的等级,其实就是求解前面有几个星星的x坐标是小于等于当前的x坐标的,也就是以该点为右端点的逆序对有多少个
解题思路:因为y是升序的,所以可以不考虑y了
求解星星所在的等级,其实就是求解前面有几个星星的x坐标是小于等于当前的x坐标的,也就是以该点为右端点的逆序对有多少个
#include <cstdio> #include <cstring> const int N = 15010; const int M = 32010; int n; int bit[M], ans ; inline int lowbit(int x) { return x & (-x); } void Modify(int x, int w) { while (x < M) { bit[x] += w; x += lowbit(x); } } int Query(int x) { int ans = 0; while (x) { ans += bit[x]; x -= lowbit(x); } return ans; } void solve() { memset(bit, 0, sizeof(bit)); memset(ans, 0, sizeof(ans)); int x, y; for (int i = 1; i <= n; i++) { scanf("%d%d", &x, &y); x++; Modify(x, 1); ans[Query(x) - 1]++; } for (int i = 0; i <= n - 1; i++) printf("%d\n", ans[i]); } int main() { while (scanf("%d", &n) != EOF) solve(); return 0; }
相关文章推荐
- 股性
- 使用栈的技术,解决括号配对的问题
- HP Unified Functional Testing 使用【不定时更新】
- MVC使用HandleErrorAttribute自定义异常
- XCode环境变量及路径设置
- git for vs2012 插件
- 努力
- Bootstrap各JavaScript插件的概述
- Java中,HashMap的讲解
- dojo小例子(36)ResizableDialog widget可缩放对话框
- error: SSL certificate problem, verify that the CA cert is OK.
- 初始化预排序遍历树
- POJ 2392 Space Elevator(多重背包)
- 使用QtScript库解析Json数组例子
- 14课后习题
- <LeetCode><Easy> 7 Reverse Interger
- 初学C语言----循环作业题
- 个人选股风格
- Java 资源汇总
- 记一个知识点-fgets();