光环时讯网站,番号网wordpress模板,如何更新目录wordpress,网站备案是域名备案还是空间备案构造题目#xff0c;考虑去除掉最后一行最后一列先进行考虑#xff0c;假设除了最后一行和最后一列都已经排好了#xff08;你可以随便排#xff09;#xff0c;那么分析知最后一个数字由限制以外其他都已经确定了#xff0c;无解的情况是k为-1
并且n#xff0c;m的奇偶… 构造题目考虑去除掉最后一行最后一列先进行考虑假设除了最后一行和最后一列都已经排好了你可以随便排那么分析知最后一个数字由限制以外其他都已经确定了无解的情况是k为-1
并且nm的奇偶性不同其余均有解 并且方案数就是2**n-1)*(m-1%p 发现数很大欧拉降幂
原式等价于2**(n-1)%(p-1)*(m-1)%(p-1) %p #includebits/stdc.h
using namespace std;
using lllong long;
const int N 2e510,p 1e97;
ll n,m,k;ll qmi(ll a,ll b,ll p){ll ans 1;while(b){if(b1)ans ans*a%p;b1;a a*a%p;}return ans;
}
void solve()
{cinnmk;if(k-1(n%2!m%2))cout-1;else{ll t ((n-1)%(p-1))*((m-1)%(p-1));coutqmi(2,t,p);}
}int main()
{ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int _;_ 1;while(_--)solve();return 0;
}
贴一个y总的分析图片
当然你写两次快速幂也是一样的这里也是知道你底数可以随便模这个性质 #includebits/stdc.h
using namespace std;
using lllong long;
const int N 2e510,p 1e97;
ll n,m,k;ll qmi(ll a,ll b,ll p){ll ans 1;while(b){if(b1)ans ans*a%p;b1;a a*a%p;}return ans;
}
void solve()
{cinnmk;if(k-1(n%2!m%2))cout0;else{// ll t ((n-1)%(p-1))*((m-1)%(p-1));// coutqmi(2,t,p);ll t qmi(2,m-1,p);coutqmi(t,n-1,p);}
}int main()
{ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int _;_ 1;while(_--)solve();return 0;
}