题目链接:http://codeforces.com/problemset/problem/466/C

题目意思:给出一个 n 个数的序列你,问通过将序列分成三段,使得每段的和都相等的分法有多少种。

这个是详细的题解:

http://codeforces.com/blog/entry/13758

代码也是按这个思路来做的,可怜我的做法改了 N 次总是得不到正确的结果~~泪

 #include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std; typedef __int64 ll; const int maxn = 5e5 + ;
ll a[maxn], sum[maxn];
ll cnt[maxn]; int main()
{
int n;
while (scanf("%d", &n) != EOF)
{
memset(sum, , sizeof(sum));
memset(cnt, , sizeof(cnt)); for (int i = ; i <= n; i++)
{
scanf("%I64d", &a[i]);
sum[i] = sum[i-] + a[i];
}
ll ans = ;
if (sum[n] % == )
{
ll avg = sum[n] / ; for (int i = n-; i; i--)
{
cnt[i] = cnt[i+]; // 不断往前传递
if (sum[i] == avg)
ans += cnt[i];
if (sum[i] == avg * ) // 可以分成三段的标志
cnt[i]++;
}
}
printf("%I64d\n", ans);
}
return ;
}

codeforces 466C. Number of Ways 解题报告的更多相关文章

  1. Codeforces - 466C - Number of Ways - 组合数学

    https://codeforces.com/problemset/problem/466/C 要把数据分为均等的非空的三组,那么每次确定第二个分割点的时候把(除此之外的)第一个分割点的数目加上就可以 ...

  2. [Codeforces 466C] Number of Ways

    [题目链接] https://codeforces.com/contest/466/problem/C [算法] 维护序列前缀和 , 枚举中间一段即可 , 详见代码 时间复杂度 : O(N) [代码] ...

  3. 【LeetCode】91. Decode Ways 解题报告(Python)

    [LeetCode]91. Decode Ways 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fux ...

  4. Codeforces Educational Round 92 赛后解题报告(A-G)

    Codeforces Educational Round 92 赛后解题报告 惨 huayucaiji 惨 A. LCM Problem 赛前:A题嘛,总归简单的咯 赛后:A题这种**题居然想了20m ...

  5. codeforces 476C.Dreamoon and Sums 解题报告

    题目链接:http://codeforces.com/problemset/problem/476/C 题目意思:给出两个数:a 和 b,要求算出 (x/b) / (x%b) == k,其中 k 的取 ...

  6. Codeforces Round #382 (Div. 2) 解题报告

    CF一如既往在深夜举行,我也一如既往在周三上午的C++课上进行了virtual participation.这次div2的题目除了E题都水的一塌糊涂,参赛时的E题最后也没有几个参赛者AC,排名又成为了 ...

  7. LeetCode:Decode Ways 解题报告

    Decode WaysA message containing letters from A-Z is being encoded to numbers using the following map ...

  8. codeforces B. Xenia and Ringroad 解题报告

    题目链接:http://codeforces.com/problemset/problem/339/B 题目理解不难,这句是解题的关键 In order to complete the i-th ta ...

  9. codeforces 507B. Amr and Pins 解题报告

    题目链接:http://codeforces.com/problemset/problem/507/B 题目意思:给出圆的半径,以及圆心坐标和最终圆心要到达的坐标位置.问最少步数是多少.移动见下图.( ...

随机推荐

  1. [功能集锦] 001 - java下载文件

    @RequestMapping("/downloadxls.action") public void downloadxls(HttpServletRequest request, ...

  2. java保留n位小数

    double x = 123456789.987654312; String.format("%.nf", x) n为保留的小数位,x必须为double类型. 例如保留3位小数 S ...

  3. JavaScript的Object的一些静态方法(*************************************************************)

    0. 开场白 这是每天学点javascript系列文章的第一篇,我觉得把这些相关的笔记整理成系列文章会很不错,方便读者阅读的同时也方便自己回顾.最近javascript已经成为了我生活的一部分了,虽然 ...

  4. android状态栏总结

    针对状态栏的操作,只针对4.4kitKat(含)以上的机型,部分国产rom会失效,目前发现的有华为的EMUI Activity必须是noActionbar主题 本文基于StatusBarUtils略作 ...

  5. vdWebControl.js去水印

    vdWebControl.js可以在浏览器中展示cad图形(须要使用其自家的转换工具把cad转换为vds格式.工具免费,但转换完成后的文件带水印信息),支持编辑图形. vdWebControl.js试 ...

  6. angular - 使用es6等一些功能

    app.module.ts var model = { user: 'Admin', items: [{ action: 'buy flowsers', done: false },{ action: ...

  7. UVA 11578 - Situp Benches(dp)

    题目链接:11578 - Situp Benches 题意:健♂身♂房有两个仰卧起坐坐垫,每次调整角度要花费10元/10度,每次使用要花费15,如今给定n个人的时间顺序,和所希望的角度,求最少花费 思 ...

  8. iOS 私有库的使用

    最近项目说要用私有库 主要过程 创建两个库:  索引库   组件库 组件库  用git操作  比如更新代码 push   打tag等 索引库  存放组件的描述信息 也就是 .spec文件 这个文件和 ...

  9. selenium之 文件上传方法

    文件上传是所有UI自动化测试都要面对的一个头疼问题 首先,我们要区分出上传按钮的种类,大体上可以分为两种,一种是input框,另外一种就比较复杂,通过js.flash等实现,标签非input 我们分别 ...

  10. Linux 下装mysql[Ubuntu & CentOS]

    Ubuntu: https://blog.csdn.net/hipilee/article/details/77610916