11.19 P9532 前缀和

点击查看代码
#include<bits/stdc++.h>

using namespace std;

int t,n,x;

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);

    cin>>t;

    
    while(t--){
        long long ans=0;
        cin>>n>>x;

        if(x%2) ans=x*pow(2,(n-2));
        else{
            int num=2;
            int tx=x;
            while(!(tx%2)&&num<n)tx/=2,num++;
            ans=tx*pow(2,n-2);
        }
        cout<<ans<<endl;
    }

    return 0;
}
很简单的一道题,没有考察什么算法,并不是前缀和,虽然有这个性质,但题更为特殊,因为第二项等于第一项,而后面的项等于前面项的和,由性质得到从第三项后都是偶数并且公比为2,利用这个性质分x的奇偶求即可
posted @ 2025-11-19 23:41  CL0  阅读(0)  评论(0)    收藏  举报