zoukankan      html  css  js  c++  java
  • Bzoj4766 文艺计算姬

    Time Limit: 1 Sec  Memory Limit: 128 MB

    Submit: 234  Solved: 142

    Description

    "奋战三星期,造台计算机"。小W响应号召,花了三星期造了台文艺计算姬。文艺计算姬比普通计算机有更多的艺
    术细胞。普通计算机能计算一个带标号完全图的生成树个数,而文艺计算姬能计算一个带标号完全二分图的生成树
    个数。更具体地,给定一个一边点数为n,另一边点数为m,共有n*m条边的带标号完全二分图K_{n,m},计算姬能快
    速算出其生成树个数。小W不知道计算姬算的对不对,你能帮助他吗?
     

    Input

    仅一行三个整数n,m,p,表示给出的完全二分图K_{n,m}
    1 <= n,m,p <= 10^18
     

    Output

    仅一行一个整数,表示完全二分图K_{n,m}的生成树个数,答案需要模p。
     

    Sample Input

    2 3 7

    Sample Output

    5

    HINT

     

    Source

    矩阵树定理 快速乘

    用Matrix-Tree打个小表,找找规律

    发现答案等于n^(m-1) * m^(n-1)   ←怎么发现的啊

    然后快速幂愉快地炸了。

    发现还有种神奇的算法叫快速乘↓

     1 /*by SilverN*/
     2 #include<algorithm>
     3 #include<iostream>
     4 #include<cstring>
     5 #include<cstdio>
     6 #include<cmath>
     7 #include<vector>
     8 #define LL long long
     9 using namespace std;
    10 const int mxn=100010;
    11 LL read(){
    12     LL x=0,f=1;char ch=getchar();
    13     while(ch<'0' || ch>'9'){if(ch=='-')f=-1;ch=getchar();}
    14     while(ch>='0' && ch<='9'){x=x*10+ch-'0';ch=getchar();}
    15     return x*f;
    16 }
    17 LL n,m,p;
    18 LL ksmul(LL a,LL b){
    19     LL res=0;
    20     a%=p;b%=p;
    21     while(b){
    22         if(b&1){
    23             res=(res+a);
    24             if(res>p)res-=p;
    25         }
    26         a=(a<<1)%p;
    27         b>>=1;
    28     }
    29     return res;
    30 }
    31 LL ksm(LL x,LL k){
    32     LL res=1;
    33     while(k){
    34         if(k&1)res=ksmul(res,x)%p;
    35         x=ksmul(x,x)%p;
    36         k>>=1;
    37     }
    38     return res;
    39 }
    40 int main(){
    41     n=read();m=read();p=read();
    42     LL ans=ksmul(ksm(n,m-1),ksm(m,n-1))%p;
    43     printf("%lld
    ",ans);
    44     return 0;
    45 }
  • 相关阅读:
    Netty源码分析-ChannelPipeline事件传播
    Netty源码分析-NioEventLoop事件轮询
    Netty源码分析-ServerBootstrap启动过程
    Canal基本原理
    [Android]proguard重新编译和如何不混淆第三方jar包
    [Android]listview recycleview的复用问题
    [Android] android .keystore文件转x509pem工具
    [Android] android studio 2.0即时运行功能探秘
    大神都是有个起点的
    Python列表的用法和基本操作
  • 原文地址:https://www.cnblogs.com/SilverNebula/p/6524720.html
Copyright © 2011-2022 走看看