2011年7月23日

POJ 1195 mobile phones 二维树状数组

摘要: 题意很简单,就是求一定范围内子矩阵的和,数据量很大,用暴力的话一定会超时,这道题用二维的树状数组做比较简单。。。#include<stdio.h>#include<string.h>#include <iostream>using namespace std;#define MAX 1030int tree[MAX][MAX];int S,ans;int lowbit(int x){return x&(-x);}void add(int x,int y,int num){ for(int i=x;i<=S;i+=lowbit(i)) { for 阅读全文

posted @ 2011-07-23 13:09 lonelycatcher 阅读(199) 评论(0) 推荐(0) 编辑

POJ 2481 cows 树状数组

摘要: 题意很简单,需要注意的一点是当两头牛的range完全相同的时候后面的牛的Strongnumber==前面牛的Strongnumber,效率不是很高,2200+ms#include<stdio.h>#include<algorithm>#include<string.h>#include <iostream>using namespace std;typedef struct{ int x; int y; int index;}cow;cow cows[100010];int N;int tree[100010];int ans[100010];b 阅读全文

posted @ 2011-07-23 09:46 lonelycatcher 阅读(348) 评论(0) 推荐(0) 编辑

STL sort 和 qsort 的用法

摘要: STL 中 sort 函数用法简介 转自http://blog.csdn.net/rattles/article/details/5510919 做 ACM 题的时候,排序是一种经常要用到的操作。如果每次都自己写个冒泡之类的 O(n^2) 排序,不但程序容易超时,而且浪费宝贵的比赛时间,还很有可能写错。 STL 里面有个 sort 函数,可以直接对数组排序,复杂度为 n*log2(n) 。使用这个函数,需要包含头文件。 这个函数可以传两个参数或三个参数。第一个参数是要排序的区间首地址,第二个参数是区间尾地址的下一地址。也就是说,排序的区间是 [a,b) 。简单来说,有一个数组 int a[10 阅读全文

posted @ 2011-07-23 09:37 lonelycatcher 阅读(699) 评论(0) 推荐(1) 编辑

导航