YBTOJ 特殊数列(哈希表)
生活随笔
收集整理的這篇文章主要介紹了
YBTOJ 特殊数列(哈希表)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 題目描述
- 解析
- 代碼
題目描述
解析
應(yīng)該是哈希表板子題了
選一個1e6左右的質(zhì)數(shù)進行處理即可
其實本質(zhì)就是鏈前
沒啥特別新鮮的
為什么要寫呢?
因為這個東西很早之前看的時候完全沒有看懂。。。
代碼
#include<bits/stdc++.h> using namespace std; #define ll long long typedef unsigned long long ull; const int N = 3e6+100; const ll mod=1e6+3; ll a,b,c; int fi[N],cnt=-1; ll num[N],tot=0; struct node{int to,nxt; }p[N]; void addline(int x,int y){p[++cnt]=(node){y,fi[x]};fi[x]=cnt; } bool find(ll x){int o=x%mod;for(int i=fi[o];~i;i=p[i].nxt){int to=p[i].to;if(num[to]==x) return true;}return false; } void put(ll x){int o=x%mod;num[++tot]=x;addline(o,tot); } int main(){memset(fi,-1,sizeof(fi));scanf("%lld%lld%lld",&a,&b,&c);ll now=1;put(now);for(int i=1;i<=2e6;i++){now=(a*now+now%b)%c;if(find(now)){printf("%d",i);return 0;}put(now);}printf("-1");return 0; } /* 3 1 2 3 4 5 6 7 8 9 5 6 7 8 9 1 2 3 4 */總結(jié)
以上是生活随笔為你收集整理的YBTOJ 特殊数列(哈希表)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2021 NOI游记
- 下一篇: 英文情侣网名 英文情侣网名大全