Warning: session_start(): open(/tmp/sess_c3c81dd829769c93f3e8ea3fa73d9a22, O_RDWR) failed: No space left on device (28) in /data/wiki/inc/init.php on line 239

Warning: session_start(): Failed to read session data: files (path: ) in /data/wiki/inc/init.php on line 239

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/auth.php on line 430

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/actions.php on line 38

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/lib/tpl/dokuwiki/main.php on line 12
2020-2021:teams:no_morning_training:部分和 [CVBB ACM Team]

用户工具

站点工具


2020-2021:teams:no_morning_training:部分和

这是本文档旧的修订版!


#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=(1<<21);
ll a[N];
int n;
int main(){
    scanf("%d",&n);
    for(int i=0;i<n;i++) 
        scanf("%lld",&a[i]);
    for(int i=1,p=0;i<n;i<<=1)
    {
        p++;
        for(int j=0;j<n;j++)
            if((j&(1<<p-1))) 
                a[j]+=a[(j^(1<<p-1))];
    }
    for(int i=0;i<n;i++) 
        printf("%lld\n",a[i]);
    return 0;
}
2020-2021/teams/no_morning_training/部分和.1589381170.txt.gz · 最后更改: 2020/05/13 22:46 由 shaco