首页 > 其他分享 >把以前想的唐氏东西记录一下。

把以前想的唐氏东西记录一下。

时间:2024-11-17 17:30:45浏览次数:1  
标签:以前 hash 记录 int sumb ull ans 唐氏 suma

题目

当时什么 hash 状物都不会,但考虑一下哈希的本质,实际上是一种映射关系,在这一道题中,我们可以省掉哈希的进制,因为匹配的结果与位置无关,接下来就可以乱搞了。

是真的乱搞(意思是随便想一个与之关联的函数),但是这个东西现在发现和 sum hash 很相似,实际上sum hash 只是赋了一个随机值而已。

code很上古

#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long ull;
const int N=3e5+5,P=10260913;
ull suma[N],sumb[N];
ull qsm(int a,int b){
    ull ans=1;
    while(b){
        if(b&1)  ans=ans*a*1ull;
        a*=2,b>>=1;
    }
    return ans;
}
map<int,int>A,B;
int main(){
    int n;
    cin>>n;
    for(int i=1;i<=n;i++){
        int k;cin>>k;
        if(A[k]==0){
            A[k]=1;
            suma[i]=suma[i-1]+qsm(k,k)*k+(P-k)*P;
        }
        else{
            suma[i]=suma[i-1];
        }
    }
    for(int i=1;i<=n;i++){
        int k;cin>>k;
        if(B[k]==0){
            B[k]=1;
            sumb[i]=sumb[i-1]+qsm(k,k)*k+(P-k)*P;
        }
        else{
            sumb[i]=sumb[i-1];
        }
    }
    int q;cin>>q;
    while(q--){
        int a,b;cin>>a>>b;
        if(suma[a]==sumb[b]){
            puts("Yes");
        }else{
            puts("No");
        }
    }
}

标签:以前,hash,记录,int,sumb,ull,ans,唐氏,suma
From: https://www.cnblogs.com/q1uple/p/18550778

相关文章

  • 用WgServerforWindows异地组网记录
    1、安装和配置参考——用windows做wireguard服务端wireguardforwindows异地组网新妙招2、现在网络结构是这样的:一台公网vps充当wg的中转服务器,安装了WgServerforWindows(版本号:2.0.11)办公环境用wireguard的windows客户端进行连接,家中的wireguard客户端是用了路由器Immortal......
  • 自由学习记录(20)
    PureMVC把LoginView视图组件赋给viewComponent,然后用它来监听用户事件,更新显示状态。command将请求(例如方法调用)封装成一个对象,从而使得用户可以通过该对象来调用相应的操作。Command(命令):封装一个请求的对象,包含执行的操作和调用的具体方法。Invoker(调用者):负责调用命令......
  • [考试记录] 2024.11.16 noip模拟赛14
    T1字符串构造机考虑将一个LCP条件拆分成两个,一个是相等的部分,使用并查集维护,另一个是不等的部分,两个串末尾的字符一定不相等,随便那啥维护。对于非法情况就是在同一个相等联通块内有不相等的条件。然后考虑从前往后贪心即可。#include<bits/stdc++.h>usingnamespacestd;#d......
  • 记录---nextTick用过吗?讲一讲实现思路吧
    ......
  • Springboot 集成Apollo配置中心【记录】
    一、前言​ 我们经常会在Springboot项目中集成配置中心,无外乎是因为配置中心即时改即时生效的缘故。而我选择Apollo的原因,是因为它有个草稿、然后发布的功能,这在上生产发布前,提前配置好变更项,检查通过再发布,这种机制对于我们来说可太友好了!二、步骤2.1pom.xmlpom.xml文件引......
  • 洛谷 P2890 [USACO07OPEN] Cheapest Palindrome G 做题记录
    我不会区间dp。设\(f_{i,j}\)表示使得区间\([i,j]\)为回文串的最小操作代价,\(cost_{i,j}\)表示字母\(i\)删除/添加的耗费,那么显而易见的,我们有:\(f_{i,j}\to\min(f_{i,j-1}+\min(cost_{s_j,0},cost_{s_j,1}),f_{i+1,j}+\min(cost_{s_i,0},cost_{s_i,1}))\)。当\(s_i......
  • Hyperf 微服务与 MongoDB 日志记录
    以下是关于在Hyperf微服务中使用MongoDB记录用户操作日志的相关技术详解: 一、Hyperf框架简介Hyperf是基于Swoole协程的高性能PHP微服务框架,它提供了诸多便捷的功能和组件,方便开发者快速构建高效、稳定的微服务应用。在微服务架构中,日志记录是非常重要的一环,有助于排查问题......
  • 2024.9 做题记录
    001.CF2002ECosmicRaysCF*2300标签:思维,栈题意:给定\(n\)个元组,\((a_i,b_i)\),表示有\(a_i\)个\(b_i\)按顺序排列在一起。一次操作可以删除以下数字:在第\(1\)个位置的数字\(s_i≠s_{i-1}\)的位置\(i\)问每个前缀最多成操作多少次。Observation:问每个前缀......
  • <QNAP 453D QTS-5.x> 日志记录:在 NAS 从 huggingface_hub 下载模型 google-t5/t5-base,在
    目的:离线使用 google-t5/t5-base预训练模型, 行多种自然语言处理任务:翻译可借不支持东亚语言。Project-22.Ai-1.T5-base只能在:  English,French,Romanian,German间使用,code非常简单,大概沾到本地/离线使用模型的皮毛。运行这么小的模型,也使我的笔记拔高了,硬件要......
  • 洛谷 P1365 WJMZBMR打osu! / Easy 做题记录
    设\(len\)表示当前的期望连击数,设\(ans\)为当前的答案,我们分类讨论来更新\(ans\):当现在打到了这个音符,那么\(ans\toans+(len+1)^2-len^2=ans+len\times2+1\)。当现在没打到这个音符,那么\(ans\)不变。当现在不知道打没打到,那么\(ans\toans+\frac{(len\times2......