题目链接:http://210.34.193.66:8080/vj/Contest.jsp?cid=160#P6

涨姿势题1

TimeLimit:1000MS  MemoryLimit:128000KB
64-bit integer IO format:%lld
Problem Description
涨姿势题就是所谓的优化题,在组队赛中,队伍发现了一题水题,那么应该交给谁去处理?作为处理水题的代码手,应该具备什么样的素养?
1,要快,水题拼的就是速度!
2,不能卡水题!水题都卡,绝对不是一个代码手的风范!
3,不能出错,错一次即罚时20分钟,对于水题来讲是致命的!
4,要能看出来一题是水题!没有这条,上面三条都是没有意义的!

如果你希望你成团队中一个合格的代码手,那么这套题是你最好的选择,快AC吧!

本系列即是为了提高水题代码手的素养而准备的!水题经常需要用到简单的优化,中难题的解题过程中也经常需要各种优化,优化是处理超时的首要选择,目的是降低时间复杂度。

涨姿势题为3题,题面完全相同,仅数据范围不同,请根据不同的数据范围选择合适的算法。

题目描述:
给定数列a[1] a[2] ... a[n]
多次询问
每次询问 有一个数字 qi
求有多少组(l,r)满足 f(l,r)=a[l]+a[l+1]+...+a[r]=qi

Input
第一行是一个t表示测试数据的组数。

每组数据的第一行是两个整数n、q,分别表示数组长度和询问的次数
第二行是n个整数a[1],a[2],...,a[n]。
接下来是q行,每行一个整数qi表示第i次询问。

数据范围:
第1题:t<=130,1<=n<=1000,-10^9<=ai<=10^9,-10^12<=qi<=10^12,大数据不超过一半,每组大数据的q为1或2。
第2题:t<=130,1<=n<=10000,q<=50,1<=ai<=10^9,1<=qi<=10^12,大数据不超过一半。
第3题:t<=30,1<=n<=1000,q<=1000000,-10^6<=ai<=10^6,-10^6<=qi<=10^6,大数据不超过5组。

注意认真比较每题的每个数的数据范围,然后选择合适的算法AC吧。注意不要提交错题目了。

Output
对于每个询问,输出一个整数表示答案
SampleInput
1
5 6
4 5 6 5 4
4
11
1
20
6
10
SampleOutput
2
2
0
2
1
0

思路:这题用到很多次区间的和,一个一个加的话会消耗大量时间,所以用前缀和处理,就是用sum[i]代表前i个元素的和。这样每一个区间(i,j)的和都可以用sum[j]-sum[i]来表示。然后用每次询问就直接暴力用两层for遍历一遍所有连续区间判断是否和询问的相等就可以AC了。

         sum[]=;///前0个元素的和为0
for(i=;i<=n;i++)///输入n个元素
{
scanf("%lld",&temp);///用temp暂时储存输入的数据
sum[i]=sum[i-]+temp;///sum[i]每次加上temp
}

前缀和

         int ans=;
scanf("%lld",&qi);//qi是区间和
for(i=;i<n;i++)//这里区间是(i,j]
for(j=i+;j<=n;j++)
if(sum[j]-sum[i]==qi)
ans++;

暴力遍历所有区间

FJUT16级第一周寒假作业题解G题的更多相关文章

  1. FJUT16级第一周寒假作业题解J题

    题目链接:http://210.34.193.66:8080/vj/Contest.jsp?cid=160#P9 涨姿势之区间刷新 TimeLimit:2000MS  MemoryLimit:128M ...

  2. FJUT16级第一周寒假作业题解D题

    题目链接:http://210.34.193.66:8080/vj/Contest.jsp?cid=160#P3 第八集,体能训练 TimeLimit:1000MS  MemoryLimit:128M ...

  3. FJUT16级第一周寒假作业题解I题

    涨姿势题3 TimeLimit:1000ms  MemoryLimit:128000KB 64-bit integer IO format:%lld Problem Description 涨姿势题就 ...

  4. 16级第一周寒假作业F题

    Subsequence TimeLimit:1000MS  MemoryLimit:65536K 64-bit integer IO format:%lld Problem Description A ...

  5. 福建工程学院16级第一周寒假作业E题----第七集,奇思妙想

    第七集,奇思妙想                                                                                            ...

  6. 16级第二周寒假作业E题

    Home_W的位运算4 TimeLimit:2000MS  MemoryLimit:128MB 64-bit integer IO format:%I64d Problem Description 给 ...

  7. 16级第二周寒假作业H题

    快速幂(三) TimeLimit:2000MS  MemoryLimit:128MB 64-bit integer IO format:%I64d Problem Description 计算( AB ...

  8. Python 第一周编程作业

    一.  编程题 1.  结合turtle库使用手册,读懂下列代码,并在jupyter编译器中运行观察结果: 依次分析下代码: 第一行 通过保留字import引用了Python中用于绘制图形的turtl ...

  9. FJUT第三周寒假作业《第九集,离间计》栈

    第九集,离间计 TimeLimit:1000MS  MemoryLimit:128MB 64-bit integer IO format:%I64d   Problem Description 拥有了 ...

随机推荐

  1. Leetcode1 - A + B Problem - Easy

    Write a function that add two numbers A and B. Example Example 1: Input: a = 1, b = 2 Output: 3 Expl ...

  2. python学习之re库

    正则表达式库re是非常重要的一个库. 首先正则表达式有两种表示类型,一种是raw string类型(原生字符串类型),也就是我们经常看到的r'  '的写法,另一种是不带r的写法,称为string类型. ...

  3. Git入门看这一篇就够了! (转)

    Git 的三种状态 Git 有三种状态,你的文件可能处于其中之一: 已提交(committed):数据已经安全的保存在本地数据库中. 已修改(modified):已修改表示修改了文件,但还没保存到数据 ...

  4. Linux下清空或删除大文件内容的2种方法

    在Linux终端下处理文件时,有时候我们想要直接清空文件的内容时但又不用使用任何Linux命令行编辑器,去打开这些文件.那如何才能达到这个目的呢? 1.通过重定向到NULL来清空文件内容 清空或者让一 ...

  5. shell中的${},##, %% , :- ,:+, ? 的使用

    假设我们定义了一个变量为:file=/dir1/dir2/dir3/my.file.txt 可以用${ }分别替换得到不同的值:${file#*/}:删掉第一个/ 及其左边的字符串:dir1/dir2 ...

  6. _itemmod_stat

    制作几种基础模板,用模板快速生成装备 `comment` 备注 `entry`目标装备 entry `src_entry` 模板装备entry `stat_muilt` 属性倍率 `mindmg_mu ...

  7. Codeforces 600E. Lomsat gelral(Dsu on tree学习)

    题目链接:http://codeforces.com/problemset/problem/600/E n个点的有根树,以1为根,每个点有一种颜色.我们称一种颜色占领了一个子树当且仅当没有其他颜色在这 ...

  8. [原][粒子特效][spark]事件action

    深入浅出spark粒子特效连接:https://www.cnblogs.com/lyggqm/p/9956344.html group调用action的地方: 可以看到使用action的可以是出生一次 ...

  9. ThinkPHP表单自动验证(注册功能)

    控制器中: 模型中: 视图中:

  10. 雷林鹏分享:现实生活中的 XML

    现实生活中的 XML 如何使用 XML 来交换信息的一些实例. 实例:XML 新闻 XMLNews 是用于交换新闻和其他信息的规范. 对新闻的供求双方来说,通过使用这种标准,可以使各种类型的新闻信息通 ...