2011年8月22日
摘要: 题目大意:给出一些数,用最小的交换相邻两个数,使得为正序,求最小交换次数解决:可以用归并排序,由于在士兵杀敌系列中已经用过了,所以为了练练何为树状数组中的离散化,再用树状数组做了一遍/*本题思路,首先将范围在0 ≤ a[i] ≤ 999,999,999之间的点压缩到0- 500,000之间,然后统计每个数之前所有比这个数小的*/#include <iostream> #include <cstdio>#include <algorithm>#include <cstring>using namespace std;int n;struct nod 阅读全文
posted @ 2011-08-22 13:44 猿类的进化史 阅读(802) 评论(0) 推荐(1) 编辑
摘要: poj 2155题目大意:第一行给出测试用例的次数,第二行第一个 给出矩阵的size,第二个给出命令的个数C表示更新数据,将范围在x1<=x<=x2,和y1<=y<=y2区域内的数每个都加上1,Q表示询问某一个点的大小解决:二维树状数组,与poj1195 mobile phones刚好相反,是插入区域,问点#include <iostream> #include <cstdio>#include <cstring>using namespace std;const int N=1010;int c[N][N];void init(){ 阅读全文
posted @ 2011-08-22 13:34 猿类的进化史 阅读(374) 评论(0) 推荐(0) 编辑
摘要: poj 1195题目大意:给出0时初始化,给出1时将矩阵中坐标为x,y的增加A,给出2时 查询区域为l<=x<=r, b<=r<=t范围内的总和解决:二维树状数组,只要知道一维中如何插点问段,这个便顺利写出#include <iostream>#include <cstdio>using namespace std;const int N=1200;int c[N][N];int n;void init(){ memset(c,0,sizeof(c));}int lowbit(int x){ return x&(-x);}void upd 阅读全文
posted @ 2011-08-22 13:28 猿类的进化史 阅读(256) 评论(0) 推荐(0) 编辑