数组预处理
来源:互联网 发布:云房数据怎么样 编辑:程序博客网 时间:2024/06/05 16:11
标题: k倍区间给定一个长度为N的数列,A1, A2, ... AN,如果其中一段连续的子序列Ai, Ai+1, ... Aj(i <= j)之和是K的倍数,我们就称这个区间[i, j]是K倍区间。 你能求出数列中总共有多少个K倍区间吗? 输入-----第一行包含两个整数N和K。(1 <= N, K <= 100000) 以下N行每行包含一个整数Ai。(1 <= Ai <= 100000) 输出-----输出一个整数,代表K倍区间的数目。 例如,输入:5 21 2 3 4 5 程序应该输出:6资源约定:峰值内存消耗(含虚拟机) < 256M
CPU消耗 < 2000ms
这道题在考场上我想暴力是过不了大数据的,所以没写,看别人的代码都是无脑暴力的,我总是感觉会超时啊,这里的时间复杂度的计算我不是很会计算。以后再瞅瞅。
这道题我还学了一个东西,
int sum=0;int a=1;printf("%d\n",sum+(a++));
这个地方即使有括号也会先加a,再执行++操作。
#include <bits/stdc++.h>using namespace std;int a[100010];long long dp[100010];int main(){ int n,k,i,j; scanf("%d%d",&n,&k); dp[0]=0; for(i=1;i<=n;i++) { scanf("%d",&a[i]); dp[i]=dp[i-1]+a[i]; } int ans=0; for(i=1;i<=n;i++) { for(j=0;j<=n-i;j++) { if((dp[j+i]-dp[j])%k==0) ans++; } } printf("%d\n",ans); return 0;}
0 0
- 数组预处理
- #预处理与C柔性数组
- lwip--有趣的数组定义(预处理)
- pku 2481 Cows(预处理,树状数组)
- lwip--有趣的数组定义(预处理)
- C语言——数组、函数、预处理
- 字符串数组、预处理、多文件编程
- 0419学习总结(数组,函数,预处理)
- day_12 C语言预处理及数组
- 预处理
- 预处理
- 预处理
- 预处理
- 预处理
- 预处理
- 预处理
- 预处理
- 预处理
- 带你深入理解传递参数
- HNOI2017滚粗记
- MongoDB系列(二):C#应用
- Spring PlaceHolder实现原理解析
- 学如逆水行舟
- 数组预处理
- MongoDB系列(一):简介及安装
- 快学scala笔记之01-数据类型
- 寻找峰值
- android adb命令实战
- Web安全相关(五):SQL注入(SQL Injection)
- 南阳理工ACM 题目4 ASCII码排序
- 分类回归树(CART)
- smali语法总结