当前位置: 首页 > news >正文

如何搭建一个简单的网站一句简短走心文案

如何搭建一个简单的网站,一句简短走心文案,企业网站建设选择兴田德润,做网站主要学什么软件知识概览(哈希表) 哈希表可以将一些值域较大的数映射到较小的空间内,通常用x mod 质数的方式进行映射。为什么用质数呢?这样的质数还要离2的整数幂尽量远。这可以从数学上证明,这样冲突最小。取余还是会出现冲突情况。…

知识概览(哈希表)

  • 哈希表可以将一些值域较大的数映射到较小的空间内,通常用x mod 质数的方式进行映射。为什么用质数呢?这样的质数还要离2的整数幂尽量远。这可以从数学上证明,这样冲突最小。
  • 取余还是会出现冲突情况。怎么解决冲突呢,有两种方式:开放寻址法和拉链法。
  • 算法题中哈希表的题目可能会有添加、查找操作,删除操作较少,删除用逻辑删除,即用一个bool数组来标识出哪些数已经被删除了。

例题展示

题目链接

https://www.acwing.com/problem/content/842/

代码(拉链法)

#include <iostream>
#include <cstring>using namespace std;const int N = 100010;int h[N], e[N], ne[N], idx;void insert(int x)
{int k = (x % N + N) % N;e[idx] = x;ne[idx] = h[k];h[k] = idx++;
}bool query(int x)
{int k = (x % N + N) % N;for (int i = h[k]; i != -1; i = ne[i])if (e[i] == x)return true;return false;
}int main()
{int n;scanf("%d", &n);memset(h, -1, sizeof h);while (n--){char op[2];int x;scanf("%s%d", op, &x);if (*op == 'I') insert(x);else{if (query(x)) puts("Yes");else puts("No");}}return 0;
}

代码(开放寻址法)

#include <iostream>
#include <cstring>using namespace std;const int N = 200003, null = 0x3f3f3f3f;  // 数组长度设置为题目数据范围的2~3倍且是质数int h[N];int find(int x)
{int k = (x % N + N) % N;while (h[k] != null && h[k] != x){k++;if (k == N) k = 0;}return k;
}int main()
{int n;scanf("%d", &n);memset(h, 0x3f, sizeof h);while (n--){char op[2];int x;scanf("%s%d", op, &x);int k = find(x);if (*op == 'I') h[k] = x;else{if (h[k] != null) puts("Yes");else puts("No");}}return 0;
}

知识概览(字符串哈希)

  • 字符串哈希也称为字符串前缀哈希法,它先预处理出所有前缀的哈希值。
  • 主要思想是用一个P进制的角度把一个字符串看成一个数字。例如一个字符串"ABCD",假设A为1,B为2,C为3,D为4,则其哈希值为\left ( 1 \times P^3 + 2 \times P^2 + 3 \times P^1 + 4 \times P^0 \right )\mod Q,其中P可以取131或13331,Q可以取2^{64},这些是经验值,99.99%的情况下不会出现冲突,不解决冲突。
  • 字符串哈希用来快速判断两个字符串是不是相等。KMP算法可以求循环节,除此之外,KMP算法不如字符串哈希,字符串哈希确实简单直接。

例题展示

题目链接

https://www.acwing.com/problem/content/843/

题解

不用考虑取余,溢出相当于取余2^{64}

代码

#include <iostream>using namespace std;typedef unsigned long long ULL;const int N = 100010, P = 131;int n, m;
char str[N];
ULL h[N], p[N];ULL get(int l, int r)
{return h[r] - h[l - 1] * p[r - l + 1];
}int main()
{scanf("%d%d%s", &n, &m, str + 1);p[0] = 1;for (int i = 1; i <= n; i++){p[i] = p[i - 1] * P;h[i] = h[i - 1] * P + str[i];}while (m--){int l1, r1, l2, r2;scanf("%d%d%d%d", &l1, &r1, &l2, &r2);if (get(l1, r1) == get(l2, r2)) puts("Yes");else puts("No");}return 0;
}

参考资料

  1. AcWing算法基础课
http://www.dt0577.cn/news/44722.html

相关文章:

  • 贵阳做网站建设最好的是哪家最近新闻有哪些
  • 网站开发需要研究什么微信营销推广软件
  • 朋友圈海报用什么网站做的中国新冠疫情最新消息
  • 北京网站开发网络公司百家号seo怎么做
  • vps网站设置如何优化网页
  • 帝国网站系统做专题常用的搜索引擎有哪些?
  • 企业怎么做网站做网站的公司网络推广和网络销售的区别
  • 做网站用什么语言编写自助建站系统个人网站
  • 自己创业做原公司一样的网站网络营销策划书步骤
  • 大连网站制作营销方式和手段有哪些
  • 网站建设报价单ppt今日新闻头条大事
  • 宁波网站建设费用百度域名收录
  • 如何免费建网站外链代发2分一条
  • 一级a做爰片官方网站网络营销的方法有哪些?
  • 阳信做网站如何让自己的网站排名靠前
  • 免费中英文网站源码店铺推广平台有哪些
  • 唐山网站建设哪家优惠广告竞价
  • 注册的空间网站蚁百杭州网站seo优化
  • 珠海网站建易搜互联一手渠道推广平台
  • 个人做网站法律风险南昌seo排名优化
  • 深圳网站建设公司哪里有网站推广技术
  • 购物网站制作怎么做南宁网络推广有几家
  • 营销型网站策划设计seo网站优化推广怎么样
  • 怎样做站长建网站百度指数如何提升
  • wordpress设置备案号谷歌seo关键词优化
  • 做58招聘网站工作人员的心得人民网今日头条
  • 网站建设 中企动力洛阳分公司网站怎么注册
  • 网络营销如何进行网站推广济南市新闻最新消息
  • 专门做h网页游戏的网站泉州网站seo外包公司
  • 网购网站营销文案怎么做网络营销主要是学什么的