基础算法
圣托里尼的日落啊~
这个作者很懒,什么都没留下…
展开
-
【哈希】 整数哈希 除数取余法 poj3274
题目来源:poj 3274这个题处理的数据范围比较大,所以用一般的循环查找肯定是超时,所以就要往哈希表上想,先判断其关键字,让后根据关键字来缩小范围继续进行查找,这样可以省不少时间。#include <iostream>#include <cmath>#include <cstring>#include <string>#include ...原创 2019-07-01 20:16:13 · 418 阅读 · 0 评论 -
【哈希】 整数哈希 poj3349
参考博客题意:判断有没有两朵相同的雪花。每朵雪花有六瓣,比较花瓣长度的方法看是否是一样的,如果对应的arms有相同的长度说明是一样的。给出n朵,只要有两朵是一样的就输出有Twin snowflakes found.,如果任何两个都是不一样的输出No two snowflakes are alike。思路:哈希函数:除留余数法,(把余数看成链地址)取关键字被某个不大于哈希表表长m的数prime...转载 2019-06-30 22:28:12 · 258 阅读 · 0 评论 -
【二分法】poj 3122 分批萨
题目来源:poj 3122参考:https://blog.csdn.net/lyy289065406/article/details/6648565#include <iostream>#include <algorithm>#include <cmath>using namespace std;int n, f;const int maxn = ...原创 2019-07-05 19:05:33 · 319 阅读 · 0 评论 -
【散列】 字符串hash
题目来源:String Subtraction#include <iostream>#include <string>#include <cstring>using namespace std;int main(){ char s1[10010]; char s2[10010]; int hashTable[130] = {0...原创 2019-06-30 15:20:02 · 187 阅读 · 0 评论 -
【二分法求解几何问题】 poj 1905
题目来源:poj 1905参考:https://blog.csdn.net/lyy289065406/article/details/6648562#include <iostream>#include <cmath>#include <iomanip>using namespace std;const double pi = acos(-1.0);...原创 2019-07-05 11:39:51 · 118 阅读 · 0 评论 -
【散列】整数散列
空间换时间直接把输入的数作为数组的下标来对这个数的性质进行统计。可以将查询的复杂度将为O(1)O(1)O(1)。但是上述策略存在一个问题,如果输入的数可能大小达到10910^9109,那么直接作为数组下标是不可以的。或者输入的是一个字符串,也不可以直接作为数组下标。散列将元素通过一个函数转换成整数,使得该整数可以尽量唯一地代表这个元素。这个转换函数就是散列函数H。也就是说,...原创 2019-06-30 11:08:25 · 202 阅读 · 0 评论 -
【二分法】 求最小值中的最大值 poj3258
题目来源:poj 3258这题也是典型的二分法的题目。使最小值最大或者使最大值最小。具体步骤是:先对读进来的数据进行排序,然后执行二分。二分里的check函数,是把不满足答案的石头撤掉。参考:https://blog.csdn.net/silent0001/article/details/52045497#include <iostream>#include <algo...原创 2019-07-05 09:07:18 · 490 阅读 · 0 评论 -
【二分穷举】 poj3273
来源:poj 3273虽然过了。。但是这个二分好像还有问题。。mid值跟组数好像没有关系。。#include <iostream>using namespace std;int n, m;const int maxn = 100010;int a[maxn];bool judge(int value){ int cnt = 1; //当前value值可以把n天...原创 2019-07-04 23:45:37 · 151 阅读 · 0 评论 -
【二分查找】
题目来源:codeup链接 查找题目描述输入数组长度 n输入数组 a[1…n]输入查找个数m输入查找数字b[1…m]输出 YES or NO 查找有则YES 否则NO 。输入输入有多组数据。每组输入n,然后输入n个整数,再输入m,然后再输入m个整数(1<=m<=n<=100)。输出如果在n个数组中输出YES否则输出NO。样例输入63 2 ...原创 2019-07-04 22:38:14 · 104 阅读 · 0 评论 -
二分查找+哈希 poj2002
题目来源:poj 2002给定N个点,求出这些点一共可以构成多少个正方形。若正方形为ABCD,A坐标为(x1,y1),B坐标为(x2,y2),则很容易可以推出C和D的坐标。对于特定的A和B坐标,C和D可以在线段AB的左边或者右边,即有两种情况。因此只需要枚举点A和点B,然后计算出两种对应的C和D的坐标,判断是否存在即可。这样计算后得到的答案是正确答案的4倍,因为正方形的4条边都枚举了。/...原创 2019-07-01 22:44:31 · 201 阅读 · 0 评论 -
【整数哈希】 poj1840 Eqs
题目来源:poj 1840参考:https://blog.csdn.net/lyy289065406/article/details/6647387#include <iostream>#include <string>#include <cstring>using namespace std;short hashTable[25000001]; /...转载 2019-07-01 21:07:53 · 142 阅读 · 0 评论 -
【日期类问题】打印月历
题目来源:NOI 打印月历24:打印月历查看 提交 统计 提问总时间限制: 1000ms 内存限制: 65536kB描述给定年月,打印当月的月历表。输入输入为一行两个整数,第一个整数是年份year(1900 ≤ year ≤ 2099),第二个整数是月份month(1 ≤ month ≤ 12),中间用单个空格隔开。输出输出为月历表。月历表第一行为星期表头,如下所示:Sun M...原创 2019-07-06 08:07:49 · 741 阅读 · 0 评论