1 条题解

  • 0
    @ 2025-8-24 22:08:41

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar 诗乃
    あなた以上の人なんて、どこにもいないよ♡

    搬运于2025-08-24 22:08:41,当前版本为作者最后更新于2019-03-11 20:02:25,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    对于100%的数据,将m带入此多项式,

    f(m)=a0+a1m+a2m2+a3m3++anmnf(m)=a_0+a_1m+a_2m^2+a_3m^3+ \cdots +a_nm^n

    不难发现,设anan1a2a1a0a_na_{n-1}\cdots a_2a_1a_0是一个mm进制数,将此数转换为10进制即为f(m)f(m)的值。因此只需要倒序输出f(m)f(m)mm进制下每一位的值即可。

    总复杂度O(logn)O(logn)

    当然你也可以模拟过

    #include <iostream>
    #include <cstdio>
    using namespace std;
    long long n, m, fm, a[100050];
    int main() {
    	cin >> m >> fm;
    	for(; fm; fm /= m) a[++n] = fm % m;
    	printf("%d\n", n);
    	for(int i = 1; i < n; ++i) cout << a[i] << " ";
    	cout << a[n];
    }
    
    
    • 1

    信息

    ID
    4207
    时间
    1000ms
    内存
    250MiB
    难度
    4
    标签
    递交数
    0
    已通过
    0
    上传者