士兵杀敌(二)
时间限制:1000 ms | 内存限制:65535 KB
难度:5
描述
南将军手下有N个士兵,分别编号1到N,这些士兵的杀敌数都是已知的。
小工是南将军手下的军师,南将军经常想知道第m号到第n号士兵的总杀敌数,请你帮助小工来回答南将军吧。
南将军的某次询问之后士兵i可能又杀敌q人,之后南将军再询问的时候,需要考虑到新增的杀敌数。...
分类:
其他好文 时间:
2014-11-25 18:45:47
阅读次数:
203
题目来源
士兵杀敌(一)
时间限制:1000 ms | 内存限制:65535 KB
难度:3
描述
南将军手下有N个士兵,分别编号1到N,这些士兵的杀敌数都是已知的。
小工是南将军手下的军师,南将军现在想知道第m号到第n号士兵的总杀敌数,请你帮助小工来回答南将军吧。
注意,南将军可能会问很多次问题。
输入只有一组测试数据
第一行是两...
分类:
其他好文 时间:
2014-11-24 22:41:35
阅读次数:
214
士兵杀敌(三)时间限制:2000ms | 内存限制:65535KB难度:5描述南将军统率着N个士兵,士兵分别编号为1~N,南将军经常爱拿某一段编号内杀敌数最高的人与杀敌数最低的人进行比较,计算出两个人的杀敌数差值,用这种方法一方面能鼓舞杀敌数高的人,另一方面也算是批评杀敌数低的人,起到了很好的效果。...
分类:
其他好文 时间:
2014-11-16 12:01:01
阅读次数:
153
//思路就是:数组第i项存储的是前i个(包括第i个)士兵的杀敌数#include<stdio.h>#include<stdlib.h>#include<string.h>intmain(){ intnum_of_soldiers,num_of_asks,from,to; inttotal_kills[100001]; inti,num_of_kills; memset(total_kills,0,sizeof(total..
分类:
其他好文 时间:
2014-10-31 19:20:20
阅读次数:
126
士兵杀敌(三)
时间限制:2000 ms | 内存限制:65535 KB
难度:5
描述
南将军统率着N个士兵,士兵分别编号为1~N,南将军经常爱拿某一段编号内杀敌数最高的人与杀敌数最低的人进行比较,计算出两个人的杀敌数差值,用这种方法一方面能鼓舞杀敌数高的人,另一方面也算是批评杀敌数低的人,起到了很好的效果。
所以,南将军经常问军师小工第i号士兵到第j号...
分类:
其他好文 时间:
2014-10-21 07:48:50
阅读次数:
122
采用的的是小牛的写法,蒟蒻第一次写。。
RMQ (Range Minimum/Maximum Query)问题是指:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j
这里介绍ST算法:采用动态规划的思想:详见
士兵杀敌(三)
时间限制:2000 ms | 内存限制:65535 KB
难度:5
描述
南将军统率着N个士兵,士兵分...
分类:
编程语言 时间:
2014-10-21 01:05:37
阅读次数:
227
士兵杀敌(二)
时间限制:1000 ms | 内存限制:65535 KB
难度:5
描述
南将军手下有N个士兵,分别编号1到N,这些士兵的杀敌数都是已知的。
小工是南将军手下的军师,南将军经常想知道第m号到第n号士兵的总杀敌数,请你帮助小工来回答南将军吧。
南将军的某次询问之后士兵i可能又杀敌q人,之后南将军再询问的时候,需要考虑到新增的杀敌数。...
分类:
其他好文 时间:
2014-10-17 11:06:44
阅读次数:
260
士兵杀敌(一) 数组是固定的,所以可以用一个sum数组来保存每个元素的和就行,但是不能每次都加,因为那样会超时,查询次数太多。但是这个士兵杀敌(二)就不能用那个方法来解了,因为这个是动态的,中间元素的值可能会变化,所以引出一个新的东西来。刚开始想了一下,实在是没有想到方法,就去讨论区看了看,一看好像...
分类:
其他好文 时间:
2014-10-07 15:23:43
阅读次数:
185
树状数组有两种情况:插点问线和插线问点。这道题是插线问点。
因为树状数组最简单的作用是计算1~x的和,所以给出(a, b, c),表示(a,b)区间增加c, 那我们只需要在a点原来的基础上增加c,然后在b点原来的基础上更新-c,这样我们算最终结果的时候在(a, b)之间的就是增加了c,在区间之外的就是没有增加。
代码:
#include
#include
#define M 100000...
分类:
其他好文 时间:
2014-10-06 23:25:31
阅读次数:
184
分析:这道题因为是更新是和询问分开的,所以我们先更新,然后在将c[i]表示成1~i之间的和,之后减一下就好了。
#include
#include
#define M 1000005
#define INF 10003
int c[M];
int main(){
int x, y, z, n, s, q;
scanf("%d%d%d", &n, &s, &q);
memset(c,...
分类:
其他好文 时间:
2014-10-06 22:34:51
阅读次数:
158