博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SD 一轮集训 day1 lose
阅读量:5010 次
发布时间:2019-06-12

本文共 1710 字,大约阅读时间需要 5 分钟。

 

     神TM有是结论题,我讨厌结论题mmp。

    杨氏矩阵了解一下(建议去维基百科)。

    反正就是推柿子,使劲推,最后写起来有一点小麻烦,但是在草稿纸(然鹅我木有啊)上思路清晰的话还是没问题的。

 

#include
#include
#include
#define ll long longusing namespace std;const int maxn=2000000,ha=1e9+7;inline int read(){ int x=0; char ch=getchar(); for(;!isdigit(ch);ch=getchar()); for(;isdigit(ch);ch=getchar()) x=x*10+ch-'0'; return x;}inline int add(int x,int y){ x+=y; return x>=ha?x-ha:x;}inline void ADD(int &x,int y){ x+=y; if(x>=ha) x-=ha;}inline int ksm(int x,int y){ int an=1; for(;y;y>>=1,x=x*(ll)x%ha) if(y&1) an=an*(ll)x%ha; return an;}int jc[maxn+5],qz[maxn+5],hz[maxn+5];int A,B,C,D,T,ans,MX,MY;inline void init(){ jc[0]=qz[0]=hz[0]=1; for(int i=1;i<=maxn;i++){ jc[i]=jc[i-1]*(ll)i%ha; qz[i]=qz[i-1]*(ll)ksm(i,i)%ha; } for(int i=1;i<=maxn;i++) hz[i]=hz[i-1]*(ll)jc[i]%ha;}inline int gethz(int x,int len){ if(!len) return 1; return hz[x+len-1]*(ll)ksm(hz[x-1]*(ll)ksm(jc[x-1],len)%ha,ha-2)%ha;}inline int Get(int x,int y,int derta){ if(x>y) swap(x,y); if(!x) return 1; int now=qz[x+derta]*(ll)ksm(qz[derta]*(ll)ksm(jc[x+derta]*(ll)ksm(jc[derta],ha-2)%ha,derta)%ha,ha-2)%ha; now=now*(ll)ksm(jc[y+derta]*(ll)ksm(jc[x+derta],ha-2)%ha,x)%ha*(ll)gethz(y+derta+1,x-1)%ha; return now;}int main(){ init(); T=read(); while(T--){ A=read(),B=read(),C=read(),D=read(); A-=B-1,C-=D-1,MX=min(A,C),MY=min(B,D); if((A>C&&B
D)) ans=Get(A+C-MX*2,MY,0)*(ll)Get(MX,B+D-MY*2,0)%ha*(ll)Get(MX,MY,A+C+B+D-MX*2-MY*2)%ha; else ans=Get(A+C-MX,B+D-MY,0); ans=jc[A*(ll)B+C*(ll)D-MX*(ll)MY]*(ll)ksm(ans,ha-2)%ha; printf("%d\n",ans); } return 0;}

  

转载于:https://www.cnblogs.com/JYYHH/p/9160574.html

你可能感兴趣的文章
Linux lsof命令 umount U盘
查看>>
自定义Font
查看>>
linux svn 服务端搭建
查看>>
maven用途、核心概念、用法、常用参数和命令、扩展
查看>>
linux时间同步ntp服务的安装与配置
查看>>
django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法...
查看>>
网络编程-socket并发-粘包问题
查看>>
python 中安装pandas
查看>>
Hibernate 的<generator class="native"></generator>的不同属性含义
查看>>
linux修改root账户的用户名所得的教训
查看>>
【LeetCode】Flatten Binary Tree to Linked List
查看>>
读后感-浮生六纪
查看>>
执行指定路径的程序文件
查看>>
Leetcode-950 Reveal Cards In Increasing Order(按递增顺序显示卡牌)
查看>>
[Linux] 在 Linux CLI 使用 ssh-keygen 生成 RSA 密钥
查看>>
14款下载有用脚本的超酷网站
查看>>
LXC-Linux Containers介绍
查看>>
7.31实习培训日志-docker sql
查看>>
c#中使用servicestackredis操作redis
查看>>
ios app 真机crash报告分析
查看>>