题目链接: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. 创建react项目

    npm搭建React项目 React官网提供最简便的方法是使用create-react-app npx create-react-app my-app cd my-app npm start 也可以自 ...

  2. C#解析html文档类库HtmlAgilityPack下载地址

    新:http://html-agility-pack.net/?z=codeplex 原:http://htmlagilitypack.codeplex.com/

  3. unity shader base pass and additional pass

      [Unity Shaders]Shader中的光照,shadersshader 写在前面 自己写过Vertex & Fragment Shader的童鞋,大概都会对Unity的光照痛恨不已 ...

  4. Python 模块(module)

    模块(module)也是为了同样的目的.在Python中,一个.py文件就构成一个模块.通过模块,你可以调用其它文件中的程序. first.py def laugh(): print "Ha ...

  5. VS2010.STL::list的一个bug

    1.ParameterAnswer_Parse(...) 下 FlistParameterOffset.clear(); 出错(list<DWORD>.clear()) (https:// ...

  6. JS中的弹窗问题confirm和prompt

    JavaScript-确认(confirm 消息对话框) confirm 消息对话框通常用于允许用户做选择的动作,如:“你对吗?”等.弹出对话框(包括一个确定按钮和一个取消按钮). 语法: confi ...

  7. Dreamweaver 2

    1.CSS样式基本应用 1.1 概念 层叠样式表 <style type="text/css">body {background-color: #F00;} p{col ...

  8. 在未排序的数组中找到第 k 个最大的元素

    在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素. 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 输出: 5 ...

  9. Java通过ftp上传文件

    首先,pom.xml添加引用 <dependency> <groupId>commons-net</groupId> <artifactId>commo ...

  10. mo系统常用语句

    mo系统常用语句 一.总结 一句话总结: 1.语言:双语设置(繁体,英语)语句? {:chooseLanguage("確定要刪除么","Are you sure you ...