【BZOJ】【P3823】【定情信物】【题解】【线性筛逆元】
来源:互联网 发布:淘宝金币抵扣怎么设置 编辑:程序博客网 时间:2024/05/01 03:56
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3823
有点意思的题目
脑子里yy不出来4维的情况……
把前三维打个表
发现0维个数好像是 2^n
然后就是 f[i]=f[i-1]*(n-i+1)/2i 筛逆元算就完了
UPD:数据加强被叉了T_T
原因是p的倍数没有逆元……
所以记录一下当前数中有多少个p就可以了
Code:
#include<bits/stdc++.h>using namespace std;typedef long long LL;LL n,p;LL pw(LL x,LL k){ LL ans=1; for(;k;k>>=1){ if(k&1)ans=(ans*x)%p; x=(x*x)%p; }return ans;}LL f,ans;int inv[int(2e7+5)];int cnt=0;int main(){ cin>>n>>p; ans=f=pw(2,n);cnt=0;inv[1]=1; for(int i=2;i<=min(2*n,p-1);i++)inv[i]=(LL)(p-p/i)*inv[p%i]%p; for(int i=1;i<=n;i++){int tmp=n-i+1;while(tmp%p==0)cnt++,tmp/=p;f=(LL)f*tmp%p;tmp=2*i;while(tmp%p==0)cnt--,tmp/=p;f=(LL)f*inv[tmp%p]%p; ans^=cnt?0:f; }cout<<ans<<endl; return 0;}
0 0
- 【BZOJ】【P3823】【定情信物】【题解】【线性筛逆元】
- bzoj 3823: 定情信物
- BZOJ 3823: 定情信物
- BZOJ 3823 定情信物 线性筛乘法逆元
- 3823: 定情信物【递推】【线性筛逆元】【带推导过程】
- BZOJ 3823 定情信物 递推
- 【逆元】【bzoj 3823】: 定情信物
- [数学 找规律] BZOJ 3823 定情信物
- BZOJ 3823 定情信物【脑推公式/找规律,线性求逆元,坑爹的数论题细节x
- 【BZOJ3823】【East!模拟赛_Round5T1】定情信物 推公式+线性筛逆元(推公式法比出题人简)
- BZOJ3823 定情信物
- [BZOJ3823]定情信物
- 【bzoj3823】【定情信物】【递推】
- 【BZOJ】【P2115】【Wc2011】【Xor】【题解】【线性基】
- bzoj题解
- 定情赋
- bzoj 1218题解
- bzoj 2456 mode 题解
- 小小的总结和展望
- 关于学习Git知识网站
- NFS配置
- WIN消息发送工具(流星程序集之三)
- 一个选号程序(流星程序集之四)
- 【BZOJ】【P3823】【定情信物】【题解】【线性筛逆元】
- VS2010彻底卸载
- 服务器和客户端程序(流星程序集之五)
- Climbing Worm
- EM加血程序(多人版)程序(流星程序集之六)
- caffe源码简单解析——Layer层
- PostgreSQL安装
- 我的一个穿越C++和JAVA的程序(流星程序集之七)
- 3-3-2 数数字