
数据结构
文章平均质量分 80
RookieGD
游戲開發學習
展开
-
poj3295
类似于表达式求值,但是更加简单,仅仅是进行逻辑运算而已,其中非的优先级最高,其他的运算优先级都一样。同时要有一点是要进行枚举,一共p,q,r,s,t 5个 变量,分别取0,1则有2^5种情况,分别运算 ,若全为真,则记为永真式。 #include #include #include using namespace std; bool Judge(int p,int q,int r,int s,原创 2012-07-20 23:47:59 · 943 阅读 · 0 评论 -
poj1789 Truck History(最小生成树)
我是通过prim来做的,代码写得很水,一直超时。。。最后1300ms过的,看到别人用相同的方法的只要300ms,一直搞不懂为啥。我的思路是,把题目转化为求最小生成树。两个truck的不同可以看为两点之间的权值。那么,就可以构造出一幅无相完全图,稠密图一般使用prim算法,求出其生成树的权值和即可。#include #include using namespace std; const int in原创 2012-07-21 11:01:51 · 561 阅读 · 0 评论 -
poj3026 Borg Maze
这题的测试数据非常坑,一直WA,看了discuss才知道是因为,测试数据后面有还有空格,所以在输入x,y之后要加gets(temp),这道题的解决方法是,先用BFS在查找每两点之间的最短距离,构造出一幅无向图,然后再用prim算法,求出这幅图的最小生成树的权值和。还有一个要注意的地方就是,整个room是可以没有墙的,所以要加判断边界条件(我因此RE了几次)。 代码如下: #include原创 2012-07-22 16:29:32 · 1301 阅读 · 0 评论 -
poj1840 Eqs
使用hash实现,原式:a1*x1^3+a2*x2^3+a3*x3^3+a4*x4^3+a5*x5^3=0 可以推出:a1*x1^3+a2*x2^3 = -(a3*x3^3+a4*x4^3+a5*x5^3) 把O(n^5)转化为O(n^3)+O(n^2)了 #include using namespace std; short h[25000001]; int main() { int a1原创 2012-08-11 14:24:12 · 411 阅读 · 0 评论 -
Hash函数的设计优化
转自:国家集训队2005论文集 李羽修 【摘要】 Hash是一种在信息学竞赛中经常用到的数据结构。一个好的Hash函数可以很大程度上提高程序的整体时间效率和空间效率。本文对面向各种不同标本(关键值)的Hash函数进行讨论,并对多种常用的Hash函数进行了分析和总结。 【关键字】 Hash 函数,字符串,整数,实数,排列组合 【正文】 对于一个Hash函数,评价其优劣的标准应转载 2012-08-11 15:49:01 · 1515 阅读 · 0 评论