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

织梦做的网站能做seo吗百度网盘app下载安装官方免费下载

织梦做的网站能做seo吗,百度网盘app下载安装官方免费下载,手机网站关键词优化软件,公众号制作的网站开发我一直以为哈希表是一个很简单的东西,直到题放到手上才发现根本不会做 我们一般用到的哈希表操作是添加操作和查询操作,很少会用到删除操作。 来背一下模板: 1 概念 1.1 哈希表 哈希表也叫散列表,根据关键码值(ke…

我一直以为哈希表是一个很简单的东西,直到题放到手上才发现根本不会做

我们一般用到的哈希表操作是添加操作和查询操作,很少会用到删除操作。

来背一下模板:

1 概念

1.1 哈希表

哈希表也叫散列表,根据关键码值(key-value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做哈希函数,存放记录的数组叫做哈希表。

这其中是以key-value的形式存储数据的,是指任意的键值key(以下用 k 来表示) 都唯一对应到内存中的某个位置。只需要输入查找的键值,就可以快速地找到其对应的 value(以下用 v 来表示)。类似一个大数组/结构体。

1.2哈希函数

定义: 要让键值对应到内存中的位置,就要为键值计算索引,也就是计算这个数据应该放到哪里。这个根据键值计算索引的函数就叫做哈希函数,也称散列函数。

面对哈希函数f(x)=xmodM,我们会发现一个问题:对同一个数取模,可能会出现不同的键值被映射到了同一个数上面,这就叫做哈希冲突。比如,当模数为 5 时,f(2)=2,f(7)=2,f(12)=2,这就发生了哈希冲突。为了处理哈希冲突,在 OI 中,主要有两种方法:拉链法和开放寻址法。

1.2.1处理哈希冲突的方法一:拉链法

//拉链法
const int N = 1e7 + 19; //大于1e7最小的质数,可以直接写个程序跑一下
struct Hash{int h[N]; //哈希表int e[N], ne[N], idx = 0; //这是链表的东西void insert(int x) //插入一个数x{int k = (x % N + N) % N; //k是x对应的哈希值//为什么要 (x % N + N) % N 呢?因为处理的时候//可能会遇到x是负数的情况,如果对负数取模,//结果也是负数,而我们要的是非负整数值,所以//通过这样把取模结果转化为非负数e[idx] = x;ne[idx] = h[k];h[k] = idx ++; //链表的基本操作return;}bool find(int x) //查找x{int k = (x % N + N) % N; //计算x的哈希值for(int i = h[k]; i != -1; i = ne[i])if(e[i] == x) return true; //如果找到了,返回truereturn false; //遍历完了都没找到,返回false}void init(){memset(h, -1, sizeof(h)); //初始化,让h中的初始值都为-1return;}
};

​​​P11615 【模板】哈希表 - 洛谷

#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long LL;
namespace fast_IO
{char buf[1 << 23], *p1 = buf, *p2 = buf;char __getchar(){return p1 == p2 && (p2 = (p1 = buf) + fread(buf, 1, 1 << 21, stdin), p1 == p2) ? EOF : *p1++;}template <typename T>T read(){T x = 0;char ch = __getchar();while(!isdigit(ch)) ch = __getchar();while(isdigit(ch)) {x = x * 10 + (ch ^ 48); ch = __getchar();}return x;}
}
const int N = 1e7 + 19;
struct Hash_table{LL h[N], kk[N]; bool exist[N];void init() //其实这个函数要不要都行{memset(h, 0, sizeof(h));memset(kk, 0, sizeof(kk));memset(exist, false, sizeof(exist));return;}void insert(LL x, LL y){int k = x % N; //因为输入的都是正数,所以就不用再 +N 了while(exist[k] == true){if(kk[k] == x) break;k ++;if(k == N) k = 0;}kk[k] = x, h[k] = y;exist[k] = true;return;}LL find(LL x){int k = x % N;while(exist[k] == true){if(kk[k] == x) return h[k];k ++;if(k == N) k = 0;}return 0;}
};
int main()
{ios::sync_with_stdio(false);cin.tie(nullptr), cout.tie(nullptr);int n;n = fast_IO::read<int>();Hash_table hash_table;hash_table.init();LL sum = 0;for(int i = 1; i <= n; i ++){LL x, y;x = fast_IO::read<LL>(), y = fast_IO::read<LL>();LL ans = i * hash_table.find(x);sum += ans;hash_table.insert(x, y);}cout << sum << "\n";return 0;
}

http://www.dtcms.com/wzjs/506095.html

相关文章:

  • php wap新闻网站源码小红书外链管家
  • 做任务赚佣金的网站seo研究中心南宁线下
  • 用自己网站做淘宝客seo搜索引擎优化内容
  • 网站制作是那个百度知道在线问答
  • 甘肃企业网站建设四川seo排名
  • 广州的一起做网站国外免费建站网站
  • 网站代码怎么写百度竞价推广代理
  • 一小时学做网站杭州seo价格
  • 静态网站更新59软文网
  • 在线音乐网站开发数据库竞价sem托管
  • 湘潭建设网站营销技巧
  • 用哪个网站做相册视频文件夹百度关键词优化服务
  • 做网站推广有用吗域名怎么注册
  • 网站排名seo谷歌推广哪家公司好
  • 企业网站建设需求调查青岛seo整站优化招商电话
  • 上海专业高端网站建设百度指数峰值查询
  • 关于加强政府网站建设高质量软文
  • 政府网站建设的自查报告杭州网站建设方案优化
  • wordpress 当前位置优化官网咨询
  • 事业单位网站设计零基础怎么做电商
  • 北京网站设计研究与开发公司站长之家音效
  • WordPress侧滑手机菜单seo网站营销推广公司
  • wordpress安装2个网站吗申请自己的网站
  • 币客bkex是一群外行人做的网站房地产营销策略有哪些
  • 网站怎么做淘宝客软件公司
  • 青岛做网站大公司有哪些关键词优化seo优化排名
  • 大连网站建设设计15个常见关键词
  • 北京网站建设制作哪家公司好管理微信软件
  • 网站开发php未来发展沧州网站建设优化公司
  • 企业网站建设规划设计任务书湖南seo优化按天付费