1 条题解

  • 0
    @ 2026-10-25 18:02:03

    思路

    2x+1与3x+1两个单调生成流合并,等值两指针同时推进,百万项;用双指针数组实现队列式合并。

    参考程序(C++11)

    #include <bits/stdc++.h>
    using namespace std;
    int main(){long long a;int n;while(cin>>a>>n){vector<long long>v(n);v[0]=a;int p=0,q=0;for(int i=1;i<n;i++){long long x=2*v[p]+1,y=3*v[q]+1;v[i]=min(x,y);if(v[i]==x)p++;if(v[i]==y)q++;}cout<<v[n-1]<<'\n';}}
    
    • 1

    信息

    ID
    1338
    时间
    1000ms
    内存
    64MiB
    难度
    普及
    标签
    递交数
    1
    已通过
    1
    上传者