摘要: http://acm.hdu.edu.cn/showproblem.php?pid=3030该题题义就是给定一个长度为M的A数组,依照这个数组生成一个长度为N的数组,然后求严格增长的子串个数。对于所给定的值进行离散化排序,再巧用树状数组求个数。代码如下:#include <cstdlib>#include <cstring>#include <cstdio>#include <map>#include <algorithm>#define MOD 1000000007#define MAXN 500005using namespace 阅读全文
posted @ 2012-02-26 21:02 沐阳 阅读(430) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=2642裸二维树状数组,题义就是求一块面积内处于发亮状态的星星的个数。代码如下:#include <cstdlib>#include <cstring>#include <cstdio>#include <algorithm>#include <map>#define MAXN 1005using namespace std; int c[MAXN+5][MAXN+5], N;bool B[MAXN][MAXN];inline int lowbit(i 阅读全文
posted @ 2012-02-26 13:44 沐阳 阅读(251) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1541题义为给定N个点按照先x轴,后y轴坐标排序,求某一点的左下角的星星数量,刚开始用二维的树状数组来做,结果肯定是内存不过用。该题正解为在给定的坐标点的排序后,只对x轴坐标建立一个一维数组,对于当前状态按x轴将平面划分成M个区域,由于给定的点的y轴坐标一定是当前最高的,所以直接对横坐标前求和即可。代码如下:#include <cstdlib>#include <cstring>#include <cstdio>#include <algorithm>#incl 阅读全文
posted @ 2012-02-26 11:08 沐阳 阅读(329) 评论(0) 推荐(0) 编辑