动态规划,而已! CodeForces 433B - Kuriyama Mirai's Stones

简介:

Kuriyama Mirai has killed many monsters and got many (namely n) stones. She numbers the stones from 1 to n. The cost of the i-th stone is vi. Kuriyama Mirai wants to know something about these stones so she will ask you two kinds of questions:

  1. She will tell you two numbers, l and r (1 ≤ l ≤ r ≤ n), and you should tell her .
  2. Let ui be the cost of the i-th cheapest stone (the cost that will be on the i-th place if we arrange all the stone costs in non-decreasing order). This time she will tell you two numbers, l and r (1 ≤ l ≤ r ≤ n), and you should tell her .

For every question you should give the correct answer, or Kuriyama Mirai will say "fuyukai desu" and then become unhappy.

Input

The first line contains an integer n (1 ≤ n ≤ 105). The second line contains n integers: v1, v2, ..., vn (1 ≤ vi ≤ 109) — costs of the stones.

The third line contains an integer m (1 ≤ m ≤ 105) — the number of Kuriyama Mirai's questions. Then follow m lines, each line contains three integers typel and r (1 ≤ l ≤ r ≤ n; 1 ≤ type ≤ 2), describing a question. If type equal to 1, then you should output the answer for the first question, else you should output the answer for the second one.

Output

Print m lines. Each line must contain an integer — the answer to Kuriyama Mirai's question. Print the answers to the questions in the order of input.

Sample test(s)
input
6
6 4 2 7 2 7
3
2 3 6
1 3 4
1 1 6
output
24
9
28
input
4
5 5 2 3
10
1 2 4
2 1 4
1 1 1
2 1 4
2 1 2
1 1 1
1 3 3
1 1 3
1 4 4
1 2 2
output
10
15
5
15
5
5
2
12
3
5
Note

Please note that the answers to the questions may overflow 32-bit integer type.

题目说给一串数字,然后给指令1或2。输入l。r求第l到r的和。讲具体点:先输入一个n,代表有多少个元素,然后输入n个元素,然后输入一个q代表有多少次指令,1的指令就是直接将a[l]一直加加到a[r],然后输出和,2的指令是先将a[]排序,sort即可了。然后和上面一样求和。思路非常easy,哈哈。看到这种B题非常开心吧,普通写法for循环一个个加的话。写完你就发现TLE了。并且TLE的非常开心啊!!!

!!

都说了这是动态规划啊。!!

!!!

咱们这样存储:每一个元素存储的是前i个元素的和。这样a[l]一直到a[r]的表达式就为a[r]-a[l-1];
好好理解下,对吧?。
动态规划就是拿空间换时间的算法,在执行过程中会产生大量中间数据进行抉择。每个状态始终影响下一步的状态!!!

嗯。贴代码时间:
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
using namespace std;
#define maxn 100006
__int64 sum;
__int64 pp[maxn]={0},p[maxn]={0},liu[maxn],xp[maxn];
int main()
{
    int i,j,k;
    int t,n,m;
    int l,r;
    while(scanf("%d",&n)!=EOF)
    {
        p[0]=0;
        for(i=1;i<=n;i++)
        {
            scanf("%I64d",&liu[i]);
            xp[i]=liu[i];
            p[i]=p[i-1]+liu[i];
        }
        xp[0]=0;
        sort(xp,xp+n+1);
        for(i=1;i<=n;i++)
            pp[i]=pp[i-1]+xp[i];
        scanf("%d",&t);
        while(t--)
        {
            scanf("%d",&m);
            if(m==1)
            {
                scanf("%d%d",&l,&r);
                sum=p[r]-p[l-1];
                printf("%I64d\n",sum);
            }
            else if(m==2)
            {
                scanf("%d%d",&l,&r);
                sum=pp[r]-pp[l-1];
                printf("%I64d\n",sum);
            }
        }
    }
    return 0;
}
看出bug就讲吧,谢谢;

版权声明:本文博客原创文章,博客,未经同意,不得转载。








本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/4675296.html,如需转载请自行联系原作者


相关文章
|
存储 设计模式 开发框架
循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发(7) -- 图标列表展示和选择处理
循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发(7) -- 图标列表展示和选择处理
|
11月前
|
存储 NoSQL 大数据
大数据中数据存储 (Data Storage)
【10月更文挑战第17天】
1328 2
|
数据库 SQL JavaScript
24_TypeOrm连接数据库
24_TypeOrm连接数据库
140 0
|
测试技术 开发工具 Swift
iOS项目组件化
随着公司业务的不断发展,团队不断壮大的同时,项目也随之臃肿起来,如何保障团队协作的高效,自然的想到了组件化这个话题。下面总结下本人的梳理和思考。
30357 12
iOS项目组件化
|
JavaScript 安全 前端开发
【TypeScript教程】# 4:TS中类型
【TypeScript教程】# 4:TS中类型
237 0
【TypeScript教程】# 4:TS中类型
|
存储 Kubernetes 关系型数据库
helm charts 入门指南(2)
helm charts 入门指南(2)
|
算法 物联网
递归的实战演练(进阶) | 算法必看系列六
通过实际题目(初级题、中级题&高阶题)深入理解递归四步解题套路。
递归的实战演练(进阶) | 算法必看系列六
05:统计单词数【NOIP2011复赛普及组第二题】
05:统计单词数 总时间限制:  1000ms 内存限制:  65536kB 描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。
1534 0
|
Java Android开发 运维
Android Bluetooth蓝牙开发:Bluetooth蓝牙设备之间的连接建立(3)
 Android Bluetooth蓝牙开发:Bluetooth蓝牙设备之间的连接建立(3) Android Bluetooth蓝牙设备的连接编程模型和Java socket网络连接编程模型类型。
1207 0

热门文章

最新文章