• 长脖子鹿省选模拟赛 [LnOI2019SP]快速多项式变换(FPT)


    本片题解设计两种解法

    果然是签到题...

    因为返回值问题T了好久...

    第一眼:搜索大水题?

     然后...竟然A了

     1 #include<cstdio>
     2 #include<queue>
     3 #include<iostream>
     4 #include<cstring>
     5 #define int long long
     6 using namespace std;
     7 inline int read(){
     8     int ans=0,f=1;char chr=getchar();
     9     while(!isdigit(chr)){if(chr=='-') f=-1;chr=getchar();}
    10     while(isdigit(chr)){ans=(ans<<3)+(ans<<1)+chr-48;chr=getchar();}
    11     return ans*f;
    12 }int fm,m,tot,a[105],x,ff,p[105],q[105];
    13 void dfs(int x,int now){
    14     if(ff) return;
    15     if(x==0&&now>=m) return;
    16     if(now<m){
    17         ff=1;
    18         int t=100;
    19         while(p[t]==0) t--;
    20         cout<<t+1<<endl<<now<<" ";
    21         for(int i=1;i<=t;i++) cout<<p[i]<<" ";
    22         return;
    23     }
    24     int t=now/a[x];
    25     for(int i=t;i>=0;i--)    p[x]=i,dfs(x-1,now-a[x]*i);
    26 }
    27 signed main(){
    28     m=read(),fm=read();
    29     x=1;a[0]=1;
    30     while(x<fm&&tot<=101){a[++tot]=x*m;x=x*m;}
    31     dfs(tot,fm);
    32     return 0;
    33 }

     但其实只要分析一下,就发现式子跟进制转换有很大关系啊,我们只要把fm当做m进制数来处理即可

     1 #include<cstdio>
     2 #include<iostream>
     3 #include<cstring>
     4 #include<cmath>
     5 #include<algorithm>
     6 #include<cstdlib> 
     7 #include<ctime>
     8 #define int long long
     9 using namespace std;
    10 inline int read(){
    11     int ans=0,f=1;char chr=getchar();
    12     while(!isdigit(chr)){if(chr=='-') f=-1;chr=getchar();}
    13     while(isdigit(chr)){ans=(ans<<3)+(ans<<1)+chr-48;chr=getchar();}
    14     return ans*f;
    15 }void write(long long x){
    16     if(x < 0) putchar('-'),x = -x;
    17     if(x > 9) write(x / 10);
    18     putchar(x % 10 + '0');
    19 }int n,m,a[505],tot;
    20 signed main(){
    21     m=read(),n=read();
    22     while(n){a[++tot]=n%m;n/=m;}
    23     printf("%d
    ",tot);
    24     for(int i=1;i<=tot;i++)write(a[i]),putchar(' ');
    25     return 0;
    26 }
  • 相关阅读:
    深入理解hadoop之MapReduce
    centos关机与重启命令
    hadoop学习笔记(1)
    配置ssh免密码登录设置后还是提示需要输入密码
    js获得URL中的参数
    SQLite介绍
    sql记录
    sql游标使用
    sql触发器
    sql函数
  • 原文地址:https://www.cnblogs.com/zhenglw/p/10505881.html
Copyright © 2020-2023  润新知