Codeforces Round #340 (Div. 2) B. Chocolate

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces Round #340 (Div. 2) B. Chocolate相关的知识,希望对你有一定的参考价值。

题意:一段01串 分割成段 每段只能有一个1 问一段串有多少种分割方式

思路:两个1之间有一个0就有两种分割方式,然后根据分步乘法原理来做、

(不过这里有一组0 1 0这种数据的话就不好直接处理,所以遇到第一个1才开始标记)

 

 1 #include<iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     long long l=0;
 6     int n;
 7     cin>>n;
 8     int a;
 9     int j=0;
10     int s=0;
11     for(int i=0;i<n;i++)
12     {
13         cin>>a;
14         if(s)
15         {
16             if(a==1){
17             l*=j+1;
18             j=0;}
19             else
20             j++;
21         }
22         if(a==1 && s!=1)
23         s=1,l=1;
24     }
25     cout<<l;
26 }

 

以上是关于Codeforces Round #340 (Div. 2) B. Chocolate的主要内容,如果未能解决你的问题,请参考以下文章

莫队 Codeforces Round #340 (Div. 2) E

Codeforces Round #340 (Div. 2) E. XOR and Favorite Number 莫队算法

Codeforces Round #340 (Div. 2) E. XOR and Favorite Number 莫队算法

Codeforces Round #340 (Div. 2) E XOR and Favorite Number 莫队板子

Codeforces Round #340 (Div. 2) E. XOR and Favorite Number 莫队算法 + 异或和前缀和的巧妙

Codeforces Round #436 E. Fire(背包dp+输出路径)