Codeforces Round #400 C. Molly's Chemicals(前缀和)
来源:互联网 发布:拳皇14出招优化补丁 编辑:程序博客网 时间:2024/05/17 03:39
题意:给定n个数字和一个k,问区间的一段数字加起来是k的幂的区间数。
思路:对n个数求前缀和,记录下前缀和的种数(即前缀中能得到值s的种数),然后对每个k的幂(power)求sum-
power的和。在其前缀中有多少种方式组成sum-power,那么当前就能多少种power。
代码:
#include<bits/stdc++.h>using namespace std;const int maxn = 1e5+5;typedef long long ll;int a[maxn], n, k;map<ll, int> m;int main(void){ while(cin >> n >> k) { for(int i = 0; i < n; i++) scanf("%d", &a[i]); ll p = 1, sum, ans = 0; while(abs(p) < 1e15) { m.clear(); m[0] = 1; sum = 0; for(int i = 0; i < n; i++) { sum += a[i]; ans += m[sum-p]; m[sum]++; } p *= k; } printf("%I64d", ans); } return 0;}
阅读全文
0 0
- Codeforces Round #400 C. Molly's Chemicals(前缀和)
- Codeforces Round #400 Molly's Chemicals 前缀和
- Codeforces Round #400 C. Molly's Chemicals
- codeforces 776C Molly's Chemicals(前缀和 二分搜索)
- Codeforces 776C Molly's Chemicals 前缀和
- 【Codeforces 776 C Molly's Chemicals】+ 前缀和 + map
- Codeforces-776C-Molly's Chemicals(前缀和)
- 【Codeforces 776 C. Molly's Chemicals】+ map + 前缀和
- Codeforces Round #400 (Div. 1 + Div. 2, combined) C. Molly's Chemicals 区间和、构造、前缀的后缀
- Codeforces Round #400 (Div. 1 + Div. 2, combined) C:Molly's Chemicals(前缀+思维)
- Codeforces Round #400 C. Molly's Chemicals (二分)
- Codeforces Round #400 C. Molly's Chemicals [二分]
- 【前缀和 && 思维转换】ICM Technex 2017 and Codeforces Round #400 (Div. 1 + Div. 2, combined)Molly's Chemicals
- CodeForces 776C Molly's Chemicals (思维+前缀)
- CF 776C Molly's Chemicals 前缀和,STL
- ICM Technex 2017 and Codeforces Round #400 (Div. 1 + Div. 2, combined) C. Molly's Chemicals
- Codeforces Round #400 (Div. 1 + Div. 2, combined)C. Molly's Chemicals【思维】
- ICM Technex 2017 and Codeforces Round #400 (Div. 1 + Div. 2, combined) C. Molly's Chemicals
- Java经典算法40例(二十五)
- 第三章 线性模型
- 如何对已经公开的接口进行重构?(@Deprecated的使用)
- 【树状数组--求逆序数】poj3067 Japan
- js
- Codeforces Round #400 C. Molly's Chemicals(前缀和)
- Java Hibernate Mysql
- 扫盲系列—CGI与FastCGI
- POJ
- WebView的坑
- const static const static成员变量的初始化
- Raspberry上手指南(1)
- 9行Python代码搭建神经网络
- 剑指offer--递归非递归合并两个有序链表