zoukankan      html  css  js  c++  java
  • bzoj3662

    数学

    其实我们发现不用每个数都去试一下,只要确定每个数字有几个就可以确定这个数。所以我们先搜索一下,然后检验。

    但是这样太慢了,所以我们打表。

    打出1-30的结果,然后取模。

    打表的程序好像弄丢了。。。就是要各种高精度

    #include<bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    int n;
    ll ans, p;
    string s[] = {
    "0",
    "0",
    "245025",
    "38118276",
    "0",
    "701565254721",
    "0",
    "13517018740330137",
    "1054861758265199049",
    "234734126209968566538",
    "7470486567228198747024",
    "3655529240602979286948564",
    "74706976586522786987307024",
    "53025203348958311874492027381",
    "1055707679026725117872959265049",
    "729803650696038636028778345751783",
    "17225329259435286208202532321097545",
    "10392367448990719529019739012358123154",
    "272006553269189557898804980767500371746",
    "130396873127602647877846824219825388617972",
    "4028460591965088771059406847405053201371772",
    "1603523894497218565486191724343889231534702375",
    "64657520623442242466249906292826929365340923553",
    "19343435636436705194168806046639915495855042504403",
    "769302689915124392250215975265042038457944892036471",
    "239684534506691040208694761530735879121194094879875543",
    "10791152002373774986609529818052463359685665383236441042",
    "2896176361911385189942286704606894921646831443702777412148",
    "134581880579217016257787571305079497004703413686681117431540",
    "34269736053164528543199304278101128211432125247436707468636178"};
    int main()
    {
        scanf("%d%lld", &n, &p);
        for(int i = 0; i < s[n - 1].length(); ++i)
            ans = (ans * 10 + s[n - 1][i] - '0') % p;
        printf("%lld
    ", ans);
        return 0;
    }
    View Code
  • 相关阅读:
    VS中编码格式的问题(待总结)
    第一次搭建Eureka服务器的虐心之路
    Eureka相关
    【移动开发】SparseArray替代HashMap
    【移动开发】plurals
    皮尔森相似度计算举例(R语言)
    据说,年薪百万的程序员,都是这么开悟的
    RDD:基于内存的集群计算容错抽象
    使用IDEA运行Spark程序
    scala for spark
  • 原文地址:https://www.cnblogs.com/19992147orz/p/7066173.html
Copyright © 2011-2022 走看看