BZOJ 3823 定情信物【脑推公式/找规律,线性求逆元,坑爹的数论题细节x
来源:互联网 发布:苹果手机免费影视软件 编辑:程序博客网 时间:2024/04/30 18:37
如果用f[i][j]表示i维空间里的j维元素有多少个,有公式 f[i][j] = C(i,j) * 2^(i-j)
……看题解似乎都是找规律的啊……sro mhy orz
考虑j维向量的方向有C(i,j)个,对于每个方向的向量,可以放置的位置的数量 显然就是剩下的几维随便填的方案数,2^(i-j)
毛神他们加的数据……大概就是当n>p的时候……p的倍数没有逆元这样的毒瘤数据,稍微记一下有多少个p就好了
……
哦还有线性地求1~n的逆元……私觉得Miskcoo大爷讲得很稳
传送门:http://blog.miskcoo.com/2014/09/linear-find-all-invert
代码:
#include<bits/stdc++.h>#define MAXN 10000007 using namespace std;int n,p;int inv[MAXN];int cf2[MAXN];int rec_fac = 1,rec_fac_p;inline void init(){inv[1] = 1 ;for(register int i=2;i<=min(n,p-1);++i)inv[i] = 1ll * (p - p/i) * inv[p%i] % p;cf2[0] = 1 ;for(register int i=1;i<=n;++i)cf2[i] = cf2[i-1] * 2 % p;}int ans = 0;inline void work(){int now = 1;ans = cf2[n] ^ 1;for(register int i = 1; i<n;++i,now = now*2 % p){int k = n - i + 1;while(!(k%p))++rec_fac_p,k/=p;rec_fac = 1ll * rec_fac * k % p;k = i ;while(!(k%p))--rec_fac_p,k/=p;rec_fac = 1ll * rec_fac * inv[k%p] % p;if(!rec_fac_p)ans ^= (int)(1ll * rec_fac * cf2[n-i] % p);//printf("%d\n",ans);}printf("%d",ans);}int main(){scanf("%d%d",&n,&p);init();work();return 0;}
0 0
- BZOJ 3823 定情信物【脑推公式/找规律,线性求逆元,坑爹的数论题细节x
- [数学 找规律] BZOJ 3823 定情信物
- BZOJ 3823 定情信物 递推
- bzoj 3823: 定情信物
- BZOJ 3823: 定情信物
- 3823: 定情信物【递推】【线性筛逆元】【带推导过程】
- BZOJ 3823 定情信物 线性筛乘法逆元
- 【BZOJ】【P3823】【定情信物】【题解】【线性筛逆元】
- 【BZOJ3823】【East!模拟赛_Round5T1】定情信物 推公式+线性筛逆元(推公式法比出题人简)
- 【逆元】【bzoj 3823】: 定情信物
- 【bzoj3823】【定情信物】【递推】
- hdu_2608_数论题_找规律
- //数学基础-推公式找规律
- BZOJ3823 定情信物
- [BZOJ3823]定情信物
- ZOJ3629 Treasure Hunt IV(找规律,推公式)
- hdu6195 cable cable cable 找规律推公式
- Bzoj 3209 花神的数论题
- scala类型系统:3) 单例类型与this.type
- js解决N个人围成一圈,第一个人从1开始报数,报到M的人出列,求最后一个出列的人的编号。
- Android 仿QQ、新浪相册的实现
- 蛮有意思另类交友网
- Android 连接wifi 检测是否需要portal 认证
- BZOJ 3823 定情信物【脑推公式/找规律,线性求逆元,坑爹的数论题细节x
- 使用root登录ubuntu
- Android简单PopWindow的实现方法。
- git常用命令
- J2SE基础知识
- Java注解详解
- 《虚拟现实-引领未来的人机交互革命》
- 微信朋友圈如何发已存的小视频
- C++ list 类学习笔记