日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JZOJ 3822. 【NOIP2014模拟9.9】逆光

發布時間:2025/3/15 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JZOJ 3822. 【NOIP2014模拟9.9】逆光 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Description

Zyh養著n盆太陽花,它們被排在一列直線上。為了簡化問題,太陽花的朝向只有向左和向右這兩種。Zyh非常喜歡這些花,于是他在每盆花的上方放置了光源。
太陽花和Zyh幸福地生活著,然而每次要關掉這些光源的時候就會出現一個問題。因為Zyh的動作問題,他每次只能關掉一個光源,在關掉這個光源后,這個光源下方的花就會休眠。然而,對于每一個未休眠的太陽花,如果它的朝向向左,那么每看到一個在它左邊的光源關閉,它就會認為自己的人生有些黑暗,于是對Zyh的好感減1。同樣地,如果它的朝向向右,那么每看到一個在它右邊的光源關閉,也會導致它對Zyh的好感減1。
Zyh不想看到太陽花對他的好感下降太多。于是他想知道關掉所有燈后,太陽花下降的好感總值是多少。

Input

輸入包含兩行。第一行是一個數正整數n表示太陽花的盆數。然后第二行是n個由空格隔開的0或1。0表示向左,1表示向右。

Output

只有一個數,太陽花下降的好感總值。

Sample Input

輸入1:

5
0 0 0 1 0

輸入2:

5
1 0 1 0 1

Sample Output

輸出1:

1

輸出2:

3

Data Constraint

對于 30% 的數據 n<10
對于 70% 的數據 n<=5000
對于 100% 的數據 n<=1000000

Solution

  • 這題一看數據嚇一跳:n<=1000000

  • 但是仔細推敲,發現一個神奇的結論:

  • 只會先關完同邊的燈!!!

  • 因為這樣之后就可以零花費處理了!

  • 那么只需要掃一遍,利用前綴和累加一遍即可!

  • 時間復雜度 O(N)

Code

#include<cstdio> using namespace std; const int N=1e6+1; int a[N],f[N]; long long ans; inline int read() {int data=0; char ch=0;while(ch<'0' || ch>'9') ch=getchar();while(ch>='0' && ch<='9') data=data*10+ch-'0',ch=getchar();return data; } int main() {int n=read();a[1]=read();for(int i=2;i<=n;i++){a[i]=read();f[i]=f[i-1];if(a[i-1]) f[i]++;}for(int i=n;i;i--)if(!a[i]) ans+=f[i];printf("%lld",ans);return 0; } 與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的JZOJ 3822. 【NOIP2014模拟9.9】逆光的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。