nyoj228 士兵杀敌(5)插线问线
士兵杀敌(五)
- 描述
-
南将军麾下有百万精兵,现已知共有M个士兵,编号为0~M,每次有任务的时候,总会有一批编号连在一起人请战(编号相近的人经常在一块,相互之间比较熟悉),最终他们获得的军功,也将会平分到每个人身上,这样,有时候,计算他们中的哪一个人到底有多少军功就是一个比较困难的事情。
在这样的情况下,南将军却经常会在许多次战役之后询问军师小工第i号士兵到第j号士兵所有人的总军功数。
请你帮助军师小工回答南将军的提问。
- 输入
- 只有一组测试数据
第一行是三个整数N,C,Q(1<=N,C,Q<=1000000),其中N表示士兵的总数。
随后的C行,每行有三个整数Mi,Ni,Ai(0<=Mi<=Ni<=N,0<=Ai<=100),表示从第Mi号到第Ni号士兵所有人平均增加了Ai的军功。
再之后的Q行,每行有两个正正数m,n,表示南将军询问的是第m号士兵到第n号士兵。 - 输出
- 请对每次询问输出m号士兵到第n号士兵的总军功数,由于该数值可能太大,请把结果对10003取余后输出
- 样例输入
-
5 3 2
1 3 2
2 4 1
5 5 10
1 5
2 3 - 样例输出
-
19
6士兵杀敌系列的又一个经典的题目,采用之前的加上之后的减去的算法,以达到节省时间和空间的目的;
- 代码如下:
-
#include<stdio.h>
#include<string.h>
int num[]={};
int main()
{
int n,c,q,f,t,v,i,x,y,value;
scanf("%d%d%d",&n,&c,&q);
while(c--)
{
scanf("%d%d%d",&f,&t,&v);
num[f]+=v;
num[t+]-=v;
} value=;
for(i=;i<=n+;++i)
{
value+=num[i];
num[i]=(value+num[i-])%;
}
while(q--)
{
scanf("%d%d",&x,&y);
printf("%d\n",(num[y]-num[x-]+)%);
}
return ;
}
nyoj228 士兵杀敌(5)插线问线的更多相关文章
- nyoj116 士兵杀敌(二)树状数组 插点问线
士兵杀敌(二) 时间限制:1000 ms | 内存限制:65535 KB 难度:5 描述 南将军手下有N个士兵,分别编号1到N,这些士兵的杀敌数都是已知的. 小工是南将军手下的军师,南将军经常想知 ...
- NYOJ-228 士兵杀敌5
士兵杀敌(五) 时间限制:2000 ms | 内存限制:65535 KB 难度:5 描述 南将军麾下有百万精兵,现已知共有M个士兵,编号为0~M,每次有任务的时候,总会有一批编号连在一起人请战(编 ...
- poj 3468 A Simple Problem with Integers(线段树 插线问线)
#include<iostream> #include<stdio.h> #include<string.h> #define NN 2500000 using n ...
- nyoj 123 士兵杀敌(四)【树状数组】+【插线问点】
树状数组有两种情况:插点问线和插线问点.这道题是插线问点. 由于树状数组最简单的作用是计算1~x的和,所以给出(a, b. c).表示(a,b)区间添加c, 那我们仅仅须要在a点原来的基础上添加c,然 ...
- nyoj123 士兵杀敌(四)树状数组 插线问点
士兵杀敌(四) 时间限制:2000 ms | 内存限制:65535 KB 难度:5 描述 南将军麾下有百万精兵,现已知共有M个士兵,编号为1~M,每次有任务的时候,总会有一批编号连在一起人请战(编 ...
- nyoj123_士兵杀敌(四)_树状数组_插线求点
士兵杀敌(四) 时间限制:2000 ms | 内存限制:65535 KB 难度:5 描述 南将军麾下有百万精兵,现已知共有M个士兵,编号为1~M,每次有任务的时候,总会有一批编号连在一起人请战 ...
- NYOJ 123 士兵杀敌4-树状数组的插线求点
士兵杀敌(四) 时间限制:2000 ms | 内存限制:65535 KB 难度:5 描述 南将军麾下有百万精兵,现已知共有M个士兵,编号为1~M,每次有任务的时候,总会有一批编号连在一起人请战(编 ...
- nyoj 600——花儿朵朵——【离散化、线段树插线问点】
花儿朵朵 时间限制:1000 ms | 内存限制:65535 KB 难度:5 描述 春天到了,花儿朵朵盛开,hrdv是一座大花园的主人,在他的花园里种着许多种鲜花,每当这个时候,就会有一大群游 ...
- nyoj_123_士兵杀敌(四)_201404131143
士兵杀敌(四) 时间限制:2000 ms | 内存限制:65535 KB 难度:5 描述 南将军麾下有百万精兵,现已知共有M个士兵,编号为1~M,每次有任务的时候,总会有一批编号连在一起人请战 ...
随机推荐
- 2019年所有人必须要掌握的一个技能 - “AI思维”
或许很多人认为AI只是那些直接从事AI相关岗位的人必须要掌握的技能,但实际上,不分岗位所有人都需要一种能力,那就是“AI思维”.如果没能在合适的时机把自己的认知提升到一定程度,被替代是很自然的事情.在 ...
- java各种框架的比较,分析
Spring 框架 优点 1.提供了一种管理对象的方法,可以把中间层的对象有效地组织起来 2.采用了分层结构,可以增量引入到项目中. 3.代码测试较容易 4.非侵入性,应用程序对Spring API的 ...
- “error: command 'x86_64-linux-gnu-gcc' failed with exit status 1” in virtualenv
Most of the time these are dependency-issues. Following the stack-trace of the gcc compiler one ca ...
- WebApi 数据保护操作未成功。这可能是由于未为当前线程的用户上下文加载用户配置文件导致的。当线程执行模拟时,可能会出现此情况。","ExceptionType":"System.Security.Cryptography.CryptographicException","StackTrace
在调用System.Security.Cryptography.ProtectedData.Protect方法来保护私密信息时,IIS可能会报以下错误:CryptographicException: ...
- 项目重命名&复制项目&删除项目
项目重命名&复制项目&删除项目 CreateTime--2016年10月15日17:25:43 Author:Marydon 1.修改项目名或者复制的项目名 第一步: my ...
- 查看tomcat启动文件都干点啥---catalina.bat(转)
在上一次查看tomcat启动文件都干点啥一文中,我们总结出,startup.bat文件的作用就是找到catalina.bat文件,然后把参数传递给它,在startup.bat中,调用catalina. ...
- TaskController.java 20160712
package main.java.com.zte.controller.system; import java.io.PrintWriter; import java.util.ArrayList; ...
- 原创:【微信小程序】客服消息教程(后台以PHP示例)
1.不需要自己手动开发客服消息的,直接接入客服,不开启消息推送即可.这种模式不多讲. 2.公众号后台开启消息推送模式,配置服务器URL.TOKEN.随机串.数据模式.数据格式(XML或JSON),这个 ...
- 去掉cb中括号的匹配
Settings->Editor->General settings->Indent options->Brace completion``
- laravel 5.1 添加第三方扩展库
步骤一:确定你要放第三方库的目录,假设:app/libs,并在该目录下放置类文件common.php.