题目并不难,想一下就会了,我真的智商持续下降,取模情况下做除法我都没想到逆元。

总之想到逆元就好写了,还是\(meet\ in\ the\ middle\)裸题,数组开不下用\(hash/map\)存一下就好了.

提示:

1、特判\(c==1\)的情况

2、特判\(c>=p\)的情况

#include<cstdio>
#include<map>
int n,p,c,mod=1e9+7,a[40],ans;std::map<int,int>mp;
int mi(int a,int b){int ans=1;while(b){if(b&1)ans=(1ll*ans*a)%p;b>>=1;a=(1ll*a*a)%p;}return ans;}
void dfs(int x,int now){
if(x>n/2){mp[now]++;return ;}
dfs(x+1,1ll*now*a[x]%p),dfs(x+1,now);}
void dfs1(int x,int now){
if(x>n){int b=1ll*c*mi(now,p-2)%p;ans=(ans+mp[b])%mod;return ;}
dfs1(x+1,1ll*now*a[x]%p),dfs1(x+1,now);}
int main(){
scanf("%d%d%d",&n,&p,&c);for(int i=1;i<=n;i++)scanf("%d",&a[i]);
if(c>=p){printf("0\n");return 0;}
dfs(1,1),dfs1(n/2+1,1);printf("%d\n",c!=1?ans:ans-1);}

最新文章

  1. WCF学习之旅—第三个示例之三(二十九)
  2. ZIP等
  3. `cocos2dx 非完整` UI解析模块
  4. HDU 5744 Keep On Movin (贪心) 2016杭电多校联合第二场
  5. linux学习书籍推荐linux学习书籍推荐
  6. [状压dp]POJ1185 炮兵阵地
  7. 在Eclipse中怎样公布创建的JavaWebproject
  8. maven 使用axis2 client 需要导入的依赖
  9. Python-wxpy信息爬取发送至微信(小白级)
  10. 图-&gt;最短路径-&gt;单源最短路径(迪杰斯特拉算法Dijkstra)
  11. .net core WebApi Interlocked配合ManualResetEventSlim实现并发同步
  12. Linux下,用命令进行 日志分割、日志合并
  13. C#打印标签
  14. django 静态文件
  15. WorldWind源码剖析系列:地形瓦片类TerrainTile和地形瓦片服务类TerrainTileService
  16. [WPF打印]WPF 文档元素(Run TextBlock Paragraph)的文字对齐方式
  17. 决策树ID3算法实现
  18. JAVA中所有与集合有关的实现类都是这六个接口的实现类
  19. vs 添加第三方库lib的两种方法
  20. java文件系统中的的NIO与IO

热门文章

  1. java读流方式,下载网络上的图片
  2. 初学php html javascript后小总结
  3. Servlet学习(1)
  4. Codeforces Round #258 (Div. 2) D. Count Good Substrings —— 组合数学
  5. 用margin还是用padding?(3)—— 负margin实战
  6. 通过 :hover 伪元素控制其他元素
  7. ubuntu中使用gensim+word2vec[备忘]
  8. 如何用vs2013开发人员命令提示工具执行一个方法(一个简单的demo)
  9. 可移植的配置visual studio工程第三方库
  10. Java SE ,Java EE和Java ME 的区别