Codeforces-776C-Molly's Chemicals(前缀和)
题目链接:Codeforces-776C-Molly's Chemicals
首先考虑到任意一个区间和都等于两个前缀和之差。
区间和为sum。sum=pre[r]-pre[l] 。
要求sum是k的幂次。我们可以枚举sum。最多有log_2(10^14)中可能的sum。
然后找满足r>l&&sum=pre[r]-pre[l]的个数即可。
#include<bits/stdc++.h>
#define mp make_pair
#define pr pair<ll,int>
#define fi first
#define se second
using namespace std;
typedef long long ll;
const int maxn=1e5+7;
const ll INF=1e14;
map<ll,int> p;
vector<int> a[maxn];
ll pre[maxn];
int cnt(ll k,int i)
{int t=p[k];if(!t) return 0;const vector<int> &v=a[t];return v.end()-upper_bound(v.begin(),v.end(),i);
}
int main()
{int n,m=0;ll k,t;cin>>n>>k;pre[0]=0;for(int i=1;i<=n;i++){cin>>t;pre[i]=pre[i-1]+t;if(!p[pre[i]]) p[pre[i]]=++m;a[p[pre[i]]].push_back(i);}ll ans=0;for(int i=0;i<=n;i++){t=1;ans+=cnt(pre[i]+t,i);if(k==1) continue;t*=k;while(abs(t+pre[i])<=INF){ans+=cnt(pre[i]+t,i);if(t==-1) break;t*=k;}}cout<<ans<<endl;return 0;
}
Codeforces-776C-Molly's Chemicals(前缀和)相关推荐
- codeforces 776C Molly's Chemicals(连续子序列和为k的次方的个数)
题目链接 题意:给出一个有n个数的序列,还有一个k,问在这个序列中有多少个子序列使得sum[l, r] = k^0,1,2,3-- 思路:sum[l, r] = k ^ t, 前缀和sum[r] = ...
- codeforces 776C
codeforces 776C 题目: C. Molly's Chemicals time limit per test2.5 seconds memory limit per test512 meg ...
- C. Molly's Chemicals
题目链接:http://codeforces.com/problemset/problem/776/C C. Molly's Chemicals time limit per test 2.5 sec ...
- 【codeforces 776C】Molly's Chemicals
[题目链接]:http://codeforces.com/contest/776/problem/C [题意] 让你找区间[i,j] 使得sum[i..j]=k^t,这里t=0,1,2,3.. -10 ...
- Molly's Chemicals
http://codeforces.com/problemset/problem/776/C 题意:给出n个数,和一个数k,现在问你有多少个区间和等于k的x次方,x从0到无穷 C++版本一 题解:先求 ...
- CodeForces - 1358D The Best Vacation(前缀和+尺取)
题目链接:点击查看 题目大意:给出 n 个数组成的数列,每个元素都可以展开为 1 , 2 , 3 .... a[ n ] ,现在将数列首尾相接,要求选取一段长度为 x 的连续数列,使得元素和最大 题目 ...
- 【CodeForces - 304B】Calendar (前缀和,水题)
题干: Calendars in widespread use today include the Gregorian calendar, which is the de facto internat ...
- 专题记录1-前缀和差分
C - 前缀极差 2023HUEL寒假集训: 1.10 前缀和 - Virtual Judge (vjudge.net) #include <cstdio> #include <io ...
- Codeforces 776B 776C 程序(夏洛克专场)
这里直接贴我的程序,题目和思路另翻博客 B. Sherlock and his girlfriend`// // main.cpp // journey // // Created by zhangd ...
- 有趣题目和认知合集(持续更新)
写写对一些算法的理解,挂几个有意思的题,可能也会挂几个板子题 算法理解偏向于能懂即可,没有严格的证明 快乐几何 [1.2]Volatile Kite 点到直线 快乐搜与暴力 [2.4]Short Co ...
最新文章
- 深入理解正则表达式环视的概念与用法
- 大数据笔记2019.5.11
- 算法提高课-图论-单源最短路的综合应用-AcWing 1135. 新年好:dijkstra和dfs暴搜结合
- Linux学习之创建子进程
- Python之简单验证码实现
- jQuery1.7.2正式发布了
- 关于snowflake算法的几个问题
- linux中request_region()函数的分析
- PHPInfo()信息泄漏——综合利用提权
- Oracle中单双引号
- OOP 术语:Arguments(参量)和 Parameters(参数)的区别(转载)
- 运行Eclipse出错:Failed to load the JNI shared library
- 图片少量显示 9张一下 类似微信,微博客户端
- 如何解决Vosviewer关键词共现分析出现的Incorrect number of columns错误
- ffmpeg -比特率,帧率和文件大小
- 陈莉君教授: 回望踏入Linux内核之旅(下篇)
- Daemon Tools 4.x 或SPTD.SYS导致Windows不能启动的问题的解决方案
- 程序员的工资有多高?
- Kafka 发送消息 Idempotent -- Spring 整合
- JMockit 和 junit 使用出现异常 JMockit wasn't properly initialized 解决