随笔分类 -  SPOJ

SPOJ227 - Ordering the Soldiers
摘要:题目大意给定一个序列a[1],a[2],a[3]…..a[n],a[i]表示位置i之前有a[i]个数比位置i上的数字大,要求你求出每一个位置上的具体数字题解直接上网上的题解吧。。。这题与正常的树状数组题目正好想反,给定数组b[i]表示i前面比a[i]大的点的个数,求a[]数组。我们可以先想想朴素的做法,比如b[] = {0, 1, 2, 0, 1},我们用数组c[i]表示还存在的小于等于i的个数,一开始c[] = {1, 2, 3, 4, 5},下标从1开始。 我们从右向左扫描b[]数组,b[5] = 1,说明该点的数是剩下的数中第4大的,也就是小于等于它的有4个,即我们要找最小的j符合c[j 阅读全文

posted @ 2013-05-02 13:23 仗剑奔走天涯 阅读(154) 评论(0) 推荐(0) 编辑

SPOJ1029 - Matrix Summation
摘要:题目大意给定一个N*N的矩阵A,每个元素的初始值为0,可以对矩阵进行一下两种操作:1、修改A[i][j]的值为d,(1<=i,j<=N)2、查询左下角坐标为(x1,y1),右上角坐标为(x2,y2)的子矩阵的元素和题解基本的树状数组,单点增减,区间求和#include<iostream>#include<cstring>#include<cstdio>#define MAXN 1050using namespace std;int n;int c[MAXN][MAXN],a[MAXN][MAXN];int lowbit(int x){ retur 阅读全文

posted @ 2013-04-23 01:55 仗剑奔走天涯 阅读(198) 评论(0) 推荐(0) 编辑

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

导航

统计

点击右上角即可分享
微信分享提示