ICode9

精准搜索请尝试: 精确搜索
  • 【洛谷 P3396 哈希冲突】解题报告(根号分治)2021-07-12 19:00:35

    简要题意 已知一个长度为 \(n\) 的数列 \(a\),共 \(m\) 次操作: 操作 A:询问 \(\sum\limits_{i\bmod x=y}a_i\)。 操作 C:\(a_x\gets y\)。 数据范围:\(1\le n,m\le 1.5\times 10^5\),\(1\le a_i\le 10^3\)。 方法一 考虑暴力,询问等价于如下代码: for(int i=y;i<=n;i+=x) now += a[i];

  • 洛古 P3396 哈希冲突2021-05-12 20:32:32

    题链 p[i][j] 表示 mod 为 i,池子为 j 的总和,可以预处理 mod 在 [1,1000] 范围内的答案,O(1)回答每个询问; 如果询问的范围超过了 1000,则暴力跑一边即可; 复杂度顶得住... #include <bits/stdc++.h> using namespace std; #define LL long long #define ll long long #define ULL uns

  • P3396 哈希冲突2019-12-29 09:03:03

    原题链接  https://www.luogu.com.cn/problem/P3396 题目大意 给你一个长度为 n 的序列和 m 个操作,每次操作有两种类型: 1. 询问下标模 x 后为 y 的所有数之和; 2. 修改第 x 个数; 题解 先想想暴力怎么搞: 对于第 1 种操作,我们可以 O(n)的枚举求和,对于第 2 种操作,我们可以 O(1)修改;

  • P3396 哈希冲突2019-10-03 13:56:02

    P3396 哈希冲突 比较巧妙的根号算法 将询问分成两类:模数<=len和>len的 对于第一类,开一个桶记录 对于第二类,暴力 时间复杂度(n+m)√n 代码: #include<bits/stdc++.h>using namespace std;const int N=150005;const int M=400;int n,m;int a[N];int len;int value[M][M];inline void

  • P3396 哈希冲突 (根号算法)2019-07-09 20:51:31

    题目链接:https://www.luogu.org/problemnew/show/P3396 题目描述 众所周知,模数的hash会产生冲突。例如,如果模的数p=7,那么4和11便冲突了。 B君对hash冲突很感兴趣。他会给出一个正整数序列value[]。 自然,B君会把这些数据存进hash池。第value[k]会被存进(k%p)这个池。这样就能造成很

  • P3396 哈希冲突(思维+方块)2019-07-02 16:49:59

    题目 P3396 哈希冲突 做法 预处理模数\([1,\sqrt{n}]\)的内存池,\(O(n\sqrt{n})\) 查询模数在范围里则直接输出,否则模拟\(O(m\sqrt{n})\) 修改则遍历模数\([1,\sqrt{n}]\),复杂度\(O(m\sqrt{n})\) Code #include<bits/stdc++.h> typedef int LL; const LL maxn=2e5+9; inline LL Read

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有