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

动态域名网站/百度seo算法

动态域名网站,百度seo算法,ubuntu 12.04 wordpress,高端母婴网站模板今天学的hash。说实话还没怎么搞懂&#xff0c;明天有时间把知识点总结写了&#xff0c;今天就小小的写个结题报告吧&#xff01; 题意&#xff1a; 在n &#xff08;n<100000)个雪花中判断是否存在两片完全相同的雪花&#xff0c;每片雪花有6个角,每个角的长度限制为100000…

今天学的hash。说实话还没怎么搞懂,明天有时间把知识点总结写了,今天就小小的写个结题报告吧!

题意:

    在n (n<100000)个雪花中判断是否存在两片完全相同的雪花,每片雪花有6个角,每个角的长度限制为1000000

    两片雪花相等的条件:

    雪花6个角的长度按顺序相等(这个顺序即可以是顺时针的也可以是逆时针的)

解题思路:

    hash:连加求余法 求key 值,链地址法解决冲突,连加求余法 求key 值挺简单,关于链地址法解决冲突可以通过c++中,vector容器可以较为方便的实现。

下面先介绍一下vector容器:(其实今天也第一次接触vector容器)

1 基本操作

(1)头文件#include<vector>.

(2)创建vector对象,vector<int> vec;

(3)尾部插入数字:vec.push_back(a);

(4)使用下标访问元素,cout<<vec[0]<<endl;记住下标是从0开始的。

(5)使用迭代器访问元素.

vector<int>::iterator it;
for(it=vec.begin();it!=vec.end();it++)cout<<*it<<endl;

(6)插入元素:    vec.insert(vec.begin()+i,a);在第i+1个元素前面插入a;

(7)删除元素:    vec.erase(vec.begin()+2);删除第3个元素

vec.erase(vec.begin()+i,vec.end()+j);删除区间[i,j-1];区间从0开始

(8)向量大小:vec.size();

(9)清空:vec.clear();

 

具体思路:

当且仅当两片雪花的key值一样时,这两片雪花才有可能相同。

求出一组的key值后,在该key值的容器中寻找是否有相同的雪花若存在,break出来即可。

那么当我们寻找到key值相同的两片雪花时,我们该如何比较两片雪花?

其实是可以的。假设有两片雪花,A 和B

我们固定A,先按顺时针方向比较

若A0==B0,则按顺序比较A1和B1.........比较A5和B5

只要当出现Ai != Bi,则把B顺时针转动一次,

若A0==B1,则按顺序比较A1和B2.........比较A5和B0

以此类推,直至B转动了5次,若还不相同,则说明这两片雪花在顺时针方向不等。

再比较逆时针方向

同样固定A,若A0==B5,则按顺序比较A1和B4.........比较A5和B0

只要当出现Ai != B(5-i),则把B逆时针转动一次,

若A0==B4,则按顺序比较A1和B3.........比较A5和B5

以此类推,直至B转动了5次,若还不相同,则说明这两片雪花在逆时针方向不等。

听了这么多,小盆友们是不是都会了呢?嘿嘿,附上代码:

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 #include <vector>
 5 #include <algorithm>
 6 using namespace std;
 7 #define maxn 100010
 8 #define pri 100007
 9 vector<int> hash[pri];
10 int snow[maxn][6];
11 int n;
12 int cmp(int a,int b)
13 {
14     for(int i=0; i<6; i++)
15     {
16         if(snow[a][0]==snow[b][i%6] )
17             if(snow[a][1]==snow[b][(i+1)%6] && snow[a][2]==snow[b][(i+2)%6] && snow[a][3]==snow[b][(i+3)%6] && snow[a][4]==snow[b][(i+4)%6] && snow[a][5]==snow[b][(i+5)%6])
18                 return 1;
19         if(snow[a][5]==snow[b][i%6])
20             if(snow[a][4]==snow[b][(i+1)%6] && snow[a][3]==snow[b][(i+2)%6] && snow[a][2]==snow[b][(i+3)%6] && snow[a][1]==snow[b][(i+4)%6] && snow[a][0]==snow[b][(i+5)%6])
21                 return 1;
22     }
23     return 0;
24 }
25 int main()
26 {
27     scanf("%d",&n);
28     int i,j;
29     for(i=0; i<n; i++)
30     {
31         scanf("%d%d%d%d%d%d",&snow[i][0],&snow[i][1],&snow[i][2],&snow[i][3],&snow[i][4],&snow[i][5]);
32     }
33     int sum,flag=1,key;
34     for(i=0; i<n&&flag!=0; i++)
35     {
36         sum=0;
37         for(j=0; j<6; j++)
38             sum+=snow[i][j];
39         key=sum%pri;
40         for(j=0; j<hash[key].size(); j++)
41         {
42             if(cmp(i,hash[key][j]))
43             {
44                 flag=0;
45                 puts("Twin snowflakes found.");
46                 break;
47             }
48         }
49         hash[key].push_back(i);
50     }
51     if(flag==1)
52         puts("No two snowflakes are alike.");
53     return 0;
54 }

There is a meaning for wings that cannot fly,it's a previous memory of when you once flew through the sky.

 

转载于:https://www.cnblogs.com/PJQOOO/p/3893259.html

http://www.lbrq.cn/news/754975.html

相关文章:

  • 昆明网站建设首选/公司模板建站
  • 临沂科技网站建设/中国做网站的公司排名
  • 廊坊网站制作公司/seo页面优化的方法
  • 泰州市住房和城乡建设局官方网站/佛山seo教程
  • 网站嵌入英文地图/磁力棒
  • wordpress 后台相册管理/深圳专门做seo的公司
  • ppt课件免费下载的网站/省委副书记
  • 网站开发做网站/品牌营销与推广
  • 朔州做网站的/国外seo网站
  • 河南郑州疫情最新数据/合肥网站优化公司
  • 网站右侧返回顶部/seo网络营销推广公司深圳
  • 网站流量运营/市场调研的内容
  • 网站布局模式/网站推广策划书模板
  • 信息技术九年级上册网站咋做/活动营销的方式有哪些
  • 简单个人网站制作教程/网站系统
  • 网站建设c云世家网络/外贸营销策略都有哪些
  • 12数据网站建设/营销型网站的特点
  • 内蒙古手机网站制作/苏州seo培训
  • 深圳网站设计价格表/超能搜索引擎系统网站
  • 自己做的网站怎么才能被收录/河北网络科技有限公司
  • 做网站选云服务器内核/网站推广的全过程
  • 深圳市土方建设网站/运营培训班
  • 商洛做网站多少钱/长沙seo排名优化公司
  • 网站建设面试对策/深圳seo外包
  • 淘宝客做连接网站吗/长春百度推广公司
  • 网站维护怎么收费/seo成都培训
  • 网站推广的最终目的是什么/搜狗引擎
  • 任丘网站制作公司/自媒体平台注册入口官网
  • 专业做网站平台/吉林seo技术交流
  • 网络建站东北/网站 软件
  • 【开发技巧】VS2022+QT5+OpenCV4.10开发环境搭建QT Creator
  • 设计索引的原则有哪些?
  • 利用 Java 爬虫按图搜索淘宝商品(拍立淘)实战指南
  • Linux -- 文件【下】
  • 云原生俱乐部-杂谈2
  • Redis 知识点与应用场景