题目描述

koala 得到了一串由 n个山楂构成的冰糖葫芦,但是他只想要一串由奇数个山楂构成的冰糖葫芦。所以他决定拆分这个冰糖葫芦。但是众所周知,冰糖葫芦被拆分之后不同部分是无法再次拼接的(也就是说必须保证拆出后的糖葫芦串上相连接的糖葫芦在原有的糖葫芦串上本身就是连接在一起的)。
koala 根据每个山楂的成色赋予了它们权值 ai。而一串冰糖葫芦的美味程度的权值为这一串所包含的每一个山楂的权值和。但是 koala 不仅仅会保留最美味的一串,每一串山楂数量为奇数的冰糖葫芦都有机会被保留。
如当 n=4,时可能被保留的串有 {a1} , {a2} , {a3}, {a4} , {a1,a2,a3} , {a2,a3,a4} ,共6个。
现在 koala 想知道所有可能被保留的冰糖葫芦的美味程度的总权值和。

输入格式:

第一行,一个整数 n,代表了冰糖葫芦包含的山楂数量。(1≤n≤10000)
第二行,n 个整数 a1 ... an,代表每个山楂的权值。(1≤ai≤1000)

输出格式:

一个整数,代表所有有可能被保留的冰糖葫芦的美味程度的总权值和。

代码实现:

第一种采用前缀和思想,但如果数据再大会导致超时,所以不推荐

#include <iostream>
int a[10005];
using namespace std;
int main() {int n;cin>>n;for (int i=1;i<=n;i++) {cin>>a[i];a[i]+=a[i-1];}long long ans=0;for (int i=1;i<=n;i++) {for (int j=i;j<=n;j+=2) {ans+=(a[j]-a[i-1]);}}cout<<ans<<endl;return 0;
}

第二种采用计数器方法,如果数据再大一点也不会造成超时

#include <iostream>
#include <cstdio>
using namespace std;
typedef long long ll;
const int MAX=10010;
int main()
{ll n,ans=0,t;cin>>n;for(int i=1;i<=n;i++){cin>>t;if(i%2!=n%2)ans+=t*((n-i)/2+1)*i;else{ans+=t*((n-i)/2+1)*((i+1)/2);ans+=t*(n-i)/2*(i/2);}}cout<<ans<<endl;return 0;
} 

本体如果比赛时并未想到计数器方法可以采用前缀和进行尝试,但要在进行时间复杂度计算后再进行使用后。

糖葫芦(齐大第十一届校赛)相关推荐

  1. 2014哈商大ICPC/ACM校赛解题报告

    被debug邀请去參加校赛,哎,被虐..我对不起工大.. 由于本人不搞ACM,算法处于HelloWorld水准.. 虽然题目除了鸟不拉屎星人之外都非常水,但我能做到这个程度,全然是超水平发挥了.. 数 ...

  2. 20200524 中南民大 2nd SCPC校赛

    这里写目录标题 B. 程序员的感激方式 C. 打印乘法表 D. 异或之后的和 E. Activity生命周期 F. 莫蒂和分数化整 G. 瑞克和颠倒星球 H. 一道简单题 I. 奇怪的圆环 J. 采摘 ...

  3. [Error]校赛/ACM初级纸质备战资料——刷题大总结

    校赛/ACM初级纸质备战资料 写在前面: 事先声明: 我这篇文章面向的是大一的计院新生,可以说在大一上并没有接触到太多的算法,这篇文章的资料也仅仅只能应付大一11月或12月举行的一些校赛选拔赛等小型基 ...

  4. 飞豹杯校赛总结/2015年8-12月项目总结

    前言: 大一选择在大创的工作中成长,尽可能地与更多的人打交道.经历,厌倦,迷惘,重生,选择,在之前这个暑假里,自己选择重新回到科技制作的老路上来,这是自己迷惘后筛选后留下来的.也是自己真正热爱的东西. ...

  5. 山东科技大学第二届ACM校赛解题报告

    这次校赛的目的,是为了省赛测试各种程序是否有问题. 热身赛的逗比题有点打击我,感觉正式赛应该不会出这种问题.开始的时候直接上了A题,然后大概是第六,前面好多友情队,正式队排名第二. 然后读了读B题,稍 ...

  6. 2019xupt-acm校赛 题解(C.给你一个666)by出题组tongtong

    重现赛链接 2019 ACM ICPC Xi'an University of Posts & Telecommunications School Contest 前面的话 有幸参与2019X ...

  7. 2019xupt-acm校赛 题解 ( F.猜球球 ) by出题组tongtong

    重现赛链接 2019 ACM ICPC Xi'an University of Posts & Telecommunications School Contest 前面的话 有幸参与2019X ...

  8. 瑞神要考研(山东科技大学第四届ACM校赛)

    问题 C: 瑞神要考研 时间限制: 1 Sec  内存限制: 128 MB 提交: 173  解决: 30 [提交][状态][讨论版] 题目描述 瑞神要准备考研了,为了复习数据结构,瑞神在某宝上买了一 ...

  9. 2022杭电多校赛第八场

    2022杭电多校赛第八场 文章目录 2022杭电多校赛第八场 1004.Quel'Thalas 1001.Theramore 1011.Stormwind 1008.Orgrimmar 1005.Ir ...

最新文章

  1. 全国计算机等级考试题库二级C操作题100套(第84套)
  2. 如何在 ASP.NET Core 中使用 URL Rewriting 中间件
  3. kv存储对抗关系型数据库
  4. 万字精华——Python常见的60+面试题合集双手奉上!
  5. 在Ruby on Rails中对nil v。空v。空白的简要解释
  6. 远程访问服务器并登录LPAR,MySQL设置远程连接服务器
  7. Swoole Framework 入门教程(1)
  8. tensorflow手动实现算法之二多元线性回归
  9. 考研 数学一 公式笔记
  10. 网络通信基础(入门知识总结)
  11. [日常摸鱼]Luogu2878 [USACO07JAN]Protecting the Flowers
  12. vptr初始化语义学
  13. C#中汉字按照首字拼音排序
  14. 阿里云 apt软件云。ubuntu16 17适用
  15. JavaScript中的三个点(...)扩展运算符
  16. 银行账号和身份证号的数据有效性设置
  17. 啊哈添柴挑战Java1223. 输出对勾
  18. 神眼MT9V034摄像头的原理及采集图像过程
  19. 公有云历史故障汇总(2017-2021 阿里云/腾讯云/AWS厂商)
  20. html文件必须由特定的程序进行编译和执行才能显示,这种编译器就是,HTML 文件必须由特定的程序进行编译和执行才能显示, 这种编译器就是()....

热门文章

  1. 历史课堂上的经典对白
  2. Bootstrap从入门到实战---点击提示和悬停提示
  3. python pos函数_如何用Python画一只肥肥的柯基狗狗—turtle库绘制椭圆与弧线实践
  4. 前端----HTML/CSS 单边框
  5. (模电3)整流二极管和开关二极管
  6. lamport面包店算法详细讲解及代码实现
  7. android顶部状态栏动态隐藏和恢复,3种Android隐藏顶部状态栏及标题栏的方法
  8. java工程师面试常见问题_JAVA软件工程师面试遇到的十个问题,这些你都知道吗?...
  9. JavaScript常用的工具函数,不全面大家补充哦
  10. vi、vim的使用 查找关键字命令(一文彻底搞懂)