magic

题解

首先原式指数肯定会爆$long$ $long$

首先根据欧拉定理我们可以将原式换成$N^{\sum\limits_{i=1}^{i<=N} [gcd(i,N)==1] C_{G}^{i}  \%phi(p)}\%p$

根据欧拉函数是积性的得出$phi(54184622)=phi(2)*phi(27092311)$

然后$phi(27092311)=27092310$  $phi(2)=1$所以$phi(54184622)=27092310$

于是我们现在要求的就是$N^{\sum\limits_{i=1}^{i<=N} [gcd(i,N)==1] C_{G}^{i}  \%27092310}\%p$

$27092310=2*3*5*7*129011$然后裸的$crt$求组合数板子求就完了

注意:你要预处理出阶乘和逆元,否则会超时

代码

#include<bits/stdc++.h>
#define ll long long
#define A 333333
ll k,p,n,g;
//phi(54184622)=27092310
//27092310=2*3*5*7*129011
ll w[7]={0,2,3,5,7,129011,54184622},jie[6][A],ni[6][A],dl[A],b[A];
ll exgcd(ll a,ll b,ll &x,ll &y){
if(b==0){
x=1;y=0;
return a;
}
ll gcd=exgcd(b,a%b,x,y);
ll t=x;
x=y;
y=t-a/b*y;
return gcd;
}
ll meng(ll x,ll k,ll cix){
ll ans=1;
for(;k;k>>=1,x=x*x%w[cix])
if(k&1)
ans=ans*x%w[cix];
return ans;
}
ll china(){
ll x,y,a=0,m,n=1;
for(ll i=1;i<=5;i++)
n*=w[i];
for(ll i=1;i<=5;i++){
m=n/w[i];
exgcd(w[i],m,x,y);
a=(a+y*m*b[i])%n;
}
if(a>0) return a;
return a+n;
}
ll gcd(ll x,ll y){
if(y==0) return x;
return gcd(y,x%y);
}
ll jic(ll n,ll m,ll cix){
if(m>n) return 0;
if(m==0) return 1;
return jie[cix][n]%w[cix]*ni[cix][n-m]%w[cix]*ni[cix][m]%w[cix];
}
ll lucas(ll n,ll m,ll cix){
if(n==0)return 1;
return jic(n%w[cix],m%w[cix],cix)*lucas(n/w[cix],m/w[cix],cix)%w[cix];
}
using namespace std;
int main()
{
scanf("%lld%lld",&n,&g);
for(ll i=1;i<=min(g,n);i++){
if(gcd(i,n)==1)
dl[++dl[0]]=i;
}
for(ll i=1;i<=5;i++){
jie[i][0]=1;
ni[i][0]=1;
for(ll j=1;j<w[i];j++)
jie[i][j]=jie[i][j-1]*j%w[i];
ni[i][w[i]-1]=meng(jie[i][w[i]-1],w[i]-2,i);
for(ll j=w[i]-2;j>=1;j--)
ni[i][j]=ni[i][j+1]*(j+1)%w[i];
for(ll j=1;j<=dl[0];j++)
(b[i]+=lucas(g,dl[j],i))%=w[i];
}
ll j=china();
ll k=meng(n,j,6);
cout<<k<<endl;
//模w「i」 剩余b「i」
}

one

题解

美妙的约瑟夫问题,

范围特别大考虑线性推

然而我懒的说了

代码特别简单,只是上文稍做修改

代码

#include<bits/stdc++.h>
using namespace std;
#define ll int
#define A 1000000
ll ans,t,n;
int main(){
scanf("%d",&t);
while(t--){
scanf("%d",&n);
ans=0;
for(ll i=n-1;i>=0;i--)
ans=(ans+i)%(n-i+1);
printf("%d\n",ans+1);
}
}

return

题解

这是道语文题,这一定是一个语文题,一定是这样

其实它是让你求前趋后继

那么这个题难点就在于怎么在作者给出题干中看出是前趋后继

那么我们看题干

  

     $0-2^{31}$范围内

我真的没看出来这是求前趋后继,$pdf$上没给样例解释

NOIP模拟测试30「return·one·magic」的更多相关文章

  1. NOIP模拟测试19「count·dinner·chess」

    反思: 我考得最炸的一次 怎么说呢?简单的两个题0分,稍难(我还不敢说难,肯定又有人喷我)42分 前10分钟看T1,不会,觉得不可做,完全不可做,把它跳了 最后10分钟看T1,发现一个有点用的性质,仍 ...

  2. NOIP模拟测试16「Drink·blue·weed」

    话说这次考试 Drink 非常棒的一道卡常练习题,适合练习卡常 真的很棒 前置卡常知识 1.char要比int快 char是最快的 输出putchar,输入getchar 在这个题快了7000豪 2. ...

  3. NOIP模拟测试38「金·斯诺·赤」

    金 辗转相减见祖宗 高精 #include<bits/stdc++.h> using namespace std; #define A 2000 #define P 1 #define N ...

  4. NOIP模拟测试28「阴阳·虎·山洞」

    写这几个题解我觉得我就像在按照官方题解抄一样 阴阳 题解 将题目中给的阴阳看作黑色和白色 首先我们观察到最后生成图中某种颜色必须是竖着单调递增或竖着单调递减 类似这样 否则不满足这个条件 但合法染色方 ...

  5. NOIP模拟测试20「周·任·飞」

    liu_runda出的题再次$\%\%\%\%\%\%\%\%\%\%\%\%\%\%\%\%\%\%$ 任 题解 题目中为什么反复强调简单路径,没有环 没有环的图中点数-边数=联通块数 前缀和维护边 ...

  6. NOIP模拟测试23「mine·water·gcd」

    mine 题解 一道比较水的dp 考试因为初始化挂掉了只有$80$分 代码有注释 #include<bits/stdc++.h> using namespace std; //无脑dp # ...

  7. NOIP模拟测试9「随·单·题」

    liu_runda出的题,先$\%\%\%\%\%\%\%\%\%\%\%$为敬 随 考试时没有Qj 然后甚至没做,甚至没交 我不知道我怎么想的 这个题挺难改 你需要用到 循环矩阵快速幂,矩阵快速幂优 ...

  8. NOIP模拟测试4「礼物·通讯·奇袭」

    礼物. 首先见到期望一定要想dp,看到n的范围无脑想状压, 然后我就只想到这了. dp方程式还是比较好想的,但是我依然想不出来 略经思考   颓题解 依然不会,随便写了个式子 i状态中不含j $f[i ...

  9. NOIP模拟测试10「大佬·辣鸡·模板」

    大佬 显然假期望 我奇思妙想出了一个式子$f[i]=f[i-1]+\sum\limits_{j=1}^{j<=m} C_{k \times j}^{k}\times w[j]$ 然后一想不对得容 ...

随机推荐

  1. valgrind 内存泄漏分析

    概述 valgrind 官网 https://www.valgrind.org/ valgrind 是 Linux 业界主流且非常强大的内存泄漏检查工具.在其官网介绍中,内存检查(memcheck)只 ...

  2. 普里姆算法(Prim)

    概览 普里姆算法(Prim算法),图论中的一种算法,可在加权连通图(带权图)里搜索最小生成树.即此算法搜索到的边(Edge)子集所构成的树中,不但包括了连通图里的所有顶点(Vertex)且其所有边的权 ...

  3. 进程间IPC通信-stop waiting for thing to happen,go out and make them happen!!!

    进程间通信: System V IPC对象: ipcs -q:查看消息队列   ipcs -m:查看共享内存 ipcs -s:查看信号灯集 ipcrm -q:删除消息队列   ipcrm -m:删除共 ...

  4. SDK安全测试

    设备调试 strace MI 5X 链接:https://pan.baidu.com/s/1KfsfEgjniozXGUD_69m0SQ 提取码:mulo 推strace到手机中 adb push s ...

  5. 033.Python的__del__析构方法he__call__方法

    一 __del__ 魔术方法(析构方法) 1.1 介绍 触发时机:当对象被内存回收的时候自动触发[1.页面执行完毕回收所有变量 2.所有对象被del的时候] 功能:对象使用完毕后资源回收 参数:一个s ...

  6. 用PHP爬取知乎的100万用户

    http://blog.jobbole.com/88788/ 突然发现 大数据 Python的爬虫能力很强 爬取到的数据 直接可以用于维修QQ营销 精准营销

  7. nginx 的基础知识(一)

    Nginx  HTTP 和 反向代理web服务器 epoll 占用少的系统资源.支持更多的并发连接 负载均衡 安装简单.配置灵活 热部署.启动快.不间断服务情况下对软件配置进行升级 反向代理 反向代理 ...

  8. Mybatis 逆向工程使用(Day_17)

    有三个方法可以解决所有的问题:接受,改变,离开.不能接受那就改变,不能改变,那就离开. [何为逆向工程?] 众 所 周 知 ,正向工程就是通过JAVA类的设置来生成对应的数据库表. MyBatis逆向 ...

  9. 对标 Spring Boot & Cloud ,轻量框架 Solon 1.4.8 发布

    Solon 是一个轻量的Java基础开发框架.强调,克制 + 简洁 + 开放的原则:力求,更小.更快.更自由的体验.支持:RPC.REST API.MVC.Job.Micro service.WebS ...

  10. GO学习-(28) Go语言操作influxDB

    Go语言操作influxDB 本文介绍了influxDB时序数据库及Go语言操作influxDB. InfluxDB是一个开源分布式时序.事件和指标数据库.使用Go语言编写,无需外部依赖.其设计目标是 ...