距离上一篇博客又2个月了 寻思着该除除草了

教育场是真的好难 可能是因为我还是只菜鸡 哭唧唧

先说下题意:有2*n罐果酱,草莓和蓝莓,梯子在中间从梯子那开始往两边吃(可以一会左一会右),问最少吃多少果酱可以使两种酱剩下的数量相等。

一开始没写出来,看了大佬的做法才会的。(因为下午刚考完拉链法冲突处理脑海里都是他ing,然后发现想复杂了.....)

题解:先将为2的改成-1。梯子右边从最右边开始求前缀和(前边所有果酱中两种果酱的差),记录前缀和的下标在数组c中(这个地方可能会有前缀和是一样的,那当然是让他越靠左越好了,这样没被吃的就越多了,所以从右边开始求前缀和),因为可能会有负数,所以前缀和加上100000存储。梯子左边从左求前缀和sum,然后右边界r--,比较求出n-r+c[-sum+100000]。也就是让左边少多少个那种酱,右边就得多多少个。

  1. 1 #include<bits/stdc++.h>
  2. 2 using namespace std;
  3. 3
  4. 4 const int INF=0x3f3f3f;
  5. 5 const int maxn=100100;
  6. 6 int a[maxn],b[maxn],c[maxn*2],d[maxn];
  7. 7
  8. 8 int main()
  9. 9 {
  10. 10 int t;
  11. 11 scanf("%d",&t);
  12. 12 while(t--){
  13. 13 int n;
  14. 14 scanf("%d",&n);
  15. 15 for(int i=0;i<n;i++){
  16. 16 scanf("%d",&a[i]);
  17. 17 if(a[i]!=1) a[i]=-1;
  18. 18 }
  19. 19 for(int i=0;i<n;i++){
  20. 20 scanf("%d",&b[i]);
  21. 21 if(b[i]!=1) b[i]=-1;
  22. 22 }
  23. 23 for(int i=0;i<200100;i++)
  24. 24 c[i]=INF;
  25. 25 c[100000]=n;
  26. 26 d[n]=0;
  27. 27 for(int i=n-1;i>=0;i--)
  28. 28 d[i]=d[i+1]+b[i],c[d[i]+100000]=i;
  29. 29 int sum=0;
  30. 30 int ans=INF;
  31. 31 for(int i=0;i<n;i++)
  32. 32 sum+=a[i];
  33. 33 ans=min(ans,c[-sum+100000]);
  34. 34 for(int i=n-1;i>=0;i--){
  35. 35 sum-=a[i];
  36. 36 ans=min(ans,n-i+c[-sum+100000]);
  37. 37 }
  38. 38 printf("%d\n",ans);
  39. 39 }
  40. 40 return 0;
  41. 41 }

Berry Jam (前缀和)cf教育场的更多相关文章

  1. codeforcesC - Berry Jam(折半枚举+1-1序列前后缀和)

    Educational Codeforces Round 78 (Rated for Div. 2) C - Berry Jam C. Berry Jam time limit per test 2 ...

  2. Educational Codeforces Round 78 (Rated for Div. 2) C. Berry Jam

    链接: https://codeforces.com/contest/1278/problem/C 题意: Karlsson has recently discovered a huge stock ...

  3. Educational Codeforces Round 78 (Rated for Div. 2) C - Berry Jam(前缀和)

  4. CF 1278C Berry Jam 题解

    Forewords 说实话我是被图吸引进来的23333,图画的真的挺好看. 题意 你从一个梯子下到地下室,梯子左右两边各有 \(n\) 瓶果酱排成一排,果酱口味为草莓味或蓝莓味,你每次只能吃你左边或右 ...

  5. [CF百场计划]#3 Educational Codeforces Round 82 (Rated for Div. 2)

    A. Erasing Zeroes Description You are given a string \(s\). Each character is either 0 or 1. You wan ...

  6. [CF百场计划]Codeforces Round #617 (Div. 3)

    A. Array with Odd Sum Description You are given an array \(a\) consisting of \(n\) integers. In one ...

  7. [CF百场计划]#2 Codeforces Round #618 (Div. 2)

    A. Non-zero Description: Guy-Manuel and Thomas have an array \(a\) of \(n\) integers [\(a_1, a_2, \d ...

  8. Berry Jam codeforces 1278C

    题目大意: 有两种类型的果酱,一个梯子,从中间开始吃,可以吃左边的,也可以吃右边的,最终要使两种类型的果酱的数量想等 题解: 思路对了,但是没考虑完. 对梯子的左侧的果酱I我们用两个数组记录其从1到i ...

  9. 【cf比赛记录】Codeforces Round #606 (Div. 2, based on Technocup 2020 Elimination Round 4)

    比赛传送门 只能说当晚状态不佳吧,有点头疼感冒的症状.也跟脑子没转过来有关系,A题最后一步爆搜没能立即想出来,B题搜索没有用好STL,C题也因为前面两题弄崩了心态,最后,果然掉分了. A:简单数学 B ...

随机推荐

  1. 发现一个怪象windows 7系统上老是丢包windows 10网络正常

    不知何故障,同一个局域网,windows 10系统上不丢包,windows 7系统老是丢包,不知是不是这二个系统的差区别,还是大家都有这样的情况. 相互PC之间ping也又不丢包,只有windos 7 ...

  2. 【Java基础】Java8 新特性

    Java8 新特性 Lambda 表达式 Lambda 是一个匿名函数,我们可以把 Lambda 表达式理解为是一段可以传递的代码(将代码像数据一样进行传递).使用它可以写出更简洁.更灵活的代码. L ...

  3. 【Linux】ABRT has detected 1 problem(s). For more info run: abrt-cli list --since 1548988705

    ------------------------------------------------------------------------------------------------- | ...

  4. 【RAC】11gRAC 搭建(VMware+裸设备)

    安装环境与网络规划 安装环境 主机操作系统:windows 7虚拟机VMware12:两台Oracle Linux R6 U5 x86_64 Oracle Database software: Ora ...

  5. Databricks 第7篇:管理Secret

    有时,访问数据要求您通过JDBC对外部数据源进行身份验证,可以使用Azure Databricks Secret来存储凭据,并在notebook和job中引用它们,而不是直接在notebook中输入凭 ...

  6. UI测试框架

    1. 从上到下共分成4层: 用例层  组件管理层  元素管理层  公共数据层 2. 用例层: 将每条用例使用参数化, 公共参数存储到"公共数据层", 中间参数通过组件层传递 3. ...

  7. Django Signals

    信号 Django中提供了"信号调度",用于在框架执行操作时解耦.通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者. Django内置的信号 Model si ...

  8. 使用Gulp里面的浏览器同步插件browser-sync的注意事项

    使用Gulp里面的浏览器同步插件browser-sync的注意事项 第一步:打开你的开发者工具, 编写前端代码!图如下! 第二步:打开你当前工作目录的命令行窗口 第三步:输入浏览器同步执行的代码! b ...

  9. 回滚原理 Since database connections are thread-local, this is thread-safe.

    mysql django 实践: django @transaction.atomic 机制分析  1.数据库清空表Tab 2.请求django-view        @transaction.at ...

  10. 小白的springboot之路(十九)、集成swagger(com.spring4all篇)

    0-前言 集成swagger,有两种方式: 一种在前面已经介绍过了,直接集成官方的springfox-swagger2的方式,这种方式需要在配置类中配置 第二种方式是这里要介绍的方式,国人写的com. ...