当前位置:网站首页>神奇快速幂
神奇快速幂
2022-07-07 21:53:00 【sophilex】
思路;
纯模拟肯定是送,有很多人都是打表找规律,找循环节然后过去的。
在网上看到一个秀翻我的思路:把一次传染过程看作乘法操作,操作对象为标记数组,那么经历了k次操作,也就是乘了k次,这就是一个变形的快速幂
那么只要按照快速幂敲一下就好了
整体复杂度大概是m^2*log(k),4e7的水平,理论上是能过的
but,时间还是卡的很死的(可能常数有点大),必须得把所有杂七杂八的优化全部加上去:快读,register,inline。。。
优化到极致了,才能过。。。(亲身体会)
虽然但是,这个思路确实是我第一次见,很优秀
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define lowbit(x) x&(-x)
const int N=1500;
ll k;
int m,n;
inline ll read() {
register char ch;
while(!isdigit(ch=getchar()));
register ll x=ch^'0';
while(isdigit(ch=getchar())) x=(((x<<2)+x)<<1)+(ch^'0');
return x;
}
bool mas[N],tp[N],ans[N];
inline void mul(bool a[],bool b[])
{
memset(tp,0,sizeof tp);
for(register int i=0;i<m;++i)
{
for(register int j=0;j<m;++j)
{
tp[i*j%m]|=a[i]&&b[j];
}
}
std::copy(&tp[0],&tp[m],a);
}
int main()
{//ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
k=read();m=read();n=read();
for(register int i=1;i<=n;++i)
{
//a=read();
mas[read()]=1;
}
ans[1]=1;
while(k)
{
if(k&1) mul(ans,mas);
mul(mas,mas);
k>>=1;
}
for(register int i=0;i<m;++i) if(ans[i]) printf("%d ",i);
return 0;
}
边栏推荐
- How to change the formula picture in the paper directly into the formula in word
- Anti climbing means cracking the second
- MongoDB快速入门
- Display the server hard disk image to the browser through Servlet
- Slam interview summary
- IDEA 2021.3. X cracking
- USB (XV) 2022-04-14
- SRM supplier cloud collaborative management platform solution for building materials industry to realize business application scalability and configuration
- Map operation execution process
- B_ QuRT_ User_ Guide(37)
猜你喜欢
B_QuRT_User_Guide(36)
B_ QuRT_ User_ Guide(37)
Installing gradle
Navicat connects Oracle
Markdown
Take you hand in hand to build feign with idea
Anxinco esp32-a1s development board is adapted to Baidu dueros routine to realize online voice function
SAP HR family member information
USB (XV) 2022-04-14
Svn relocation
随机推荐
Anti climbing means cracking the second
高效的S2B2C电商系统,是这样帮助电子材料企业提升应变能力的
C number of words, plus ¥, longest word, average value
SQL database execution problems
[experiment sharing] log in to Cisco devices through the console port
Design and implementation of spark offline development framework
ASP. Net query implementation
Anxin vb01 offline voice module access intelligent curtain guidance
How to change the formula picture in the paper directly into the formula in word
C simple question 2
Boost regex library source code compilation
家用电器行业渠道商协同系统解决方案:助力家电企业快速实现渠道互联网化
Happy gathering time
SAP HR奖罚信息导出
【LeetCode】20、有效的括号
The file format and extension of XLS do not match
UE4_ Ue5 panoramic camera
Senior programmers must know and master. This article explains in detail the principle of MySQL master-slave synchronization, and recommends collecting
Summary of SQL single table query 2020.7.27
【7.4】25. Turn over the linked list in groups of K