我是靠谱客的博主 谦让大门,最近开发中收集的这篇文章主要介绍牛客练习赛48 正整数哈希,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

题目链接:https://ac.nowcoder.com/acm/contest/923/B
题目大意:

在这里插入图片描述在这里插入图片描述
当时看了看数太大,大整数复杂度也高,仔细看了看公式既然全部是乘法,那么取模后结果应该也是一样的。a[i], b[i]范围<=10^5直接预处理阶乘。哈希搞一搞。当时有预感,会卡ull。不过都写完了。直接交一发,果然wa。然后直接mod个大整数就AC了。

#include <bits/stdc++.h>
#define LL long long
using namespace std;
unsigned LL mod = 1ll*1610612741;
unsigned LL p[100005];
int a[2000005];
int main()
{
    p[0]=1;
    for(unsigned LL i=1;i<=100000;i++)
    {
        p[i]=(p[i-1]*i)%mod;
    }
    int t;
    scanf("%d",&t);
    while(t--)
    {
        int n, m;
        scanf("%d%d",&n,&m);
        unsigned LL s1=1, s2=1;
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&a[i]);
            s1=s1*p[a[i]]%mod;
        }
        for(int i=1;i<=m;i++)
        {
            scanf("%d",&a[i]);
            s2=s2*p[a[i]]%mod;
        }
        if(s1==s2)
        {
            printf("equaln");
        }
        else
        {
            printf("unequaln");
        }
    }

    return 0;
}

最后

以上就是谦让大门为你收集整理的牛客练习赛48 正整数哈希的全部内容,希望文章能够帮你解决牛客练习赛48 正整数哈希所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(72)

评论列表共有 0 条评论

立即
投稿
返回
顶部