上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 29 下一页

2011年11月13日

理解矩阵 [转]

摘要: 线性代数课程,无论你从行列式入手还是直接从矩阵入手,从一开始就充斥着莫名其妙。比如说,在全国一般工科院系教学中应用最广泛的同济线性代数教材(现在到了第四版),一上来就介绍逆序数这个“前无古人,后无来者”的古怪概念,然后用逆序数给出行列式的一个极不直观的定义,接着是一些简直犯傻的行列式性质和习题——把这行乘一个系数加到另一行上,再把那一列减过来,折腾得那叫一个热闹,可就是压根看不出这个东西有嘛用。大多数像我一样资质平庸的学生到这里就有点犯晕:连这是个什么东西都模模糊糊的,就开始钻火圈表演了,这未免太“无厘头”了吧!于是开始有人逃课,更多的人开始抄作业。这下就中招了,因为其后的发展可以用一句峰回路 阅读全文

posted @ 2011-11-13 16:11 龙豆 阅读(285) 评论(0) 推荐(0)

2011年11月12日

poj-3253 Fence Repair **

摘要: /* * 3253 Fence Repair.cpp * * Created on: 2011-10-25 * * Huffman + 堆排 * * _int64 让我WA了无数次, 郁闷 * */#include <iostream>using namespace std;const int maxn = 50000 + 5;__int64 len[maxn], n, size;inline int left(int i){ return 2 * i + 1;}inline int right(int i){ return 2 * i + 2;}inline int ... 阅读全文

posted @ 2011-11-12 00:55 龙豆 阅读(302) 评论(0) 推荐(0)

2011年11月3日

Sharp-P(#P)和NP计算复杂度[转]

摘要: 今天主要研究 Sharp-P (#P)和 NP 的计算复杂度的问题。 NP 计算复杂度大多数人都听说过, 即非定常多项式(英语:non-deterministic polynomial,缩写NP) 时间复杂性类,或称非确定性多项式时间复杂性类, 包含了可以在多项式时间内验证其解是否正确的那些问题。 注意:NP的定义没有谈到任何 关于求解的问题,只是所说:多项式时间内验证其解是否正确。比如: 我们给一个0-1背包的解,就可以在多项式时间内验证是否满足条件。至于是否能找到 满足条件的解,这在NP复杂度里没有规定。 Sharp-P (#P)的定义主要指NP问题中对应的满足条件的实例或路径的个数... 阅读全文

posted @ 2011-11-03 23:02 龙豆 阅读(3086) 评论(0) 推荐(0)

NP完全问题名单[转]

摘要: 这是的某些通常了解的问题 NP完全 当表示为时 决策问题. 这张名单绝不全面(有超过3000个了解的NP完全问题)。 大多问题在这张名单从Garey和约翰逊的精液书被采取 计算机和难驾驭: 对NP完整性的理论的一个指南和按同一个顺序和组织这里被提出。 这张名单是 残缺不全; 您可帮助 扩展它.内容1 计算几何学2 图论2.1 盖和分成2.2 子图和supergraphs2.3 端点命令2.4 Iso-和其他morphisms2.5 混杂3 网络设计3.1 生成树3.2 裁减和连通性3.3 发送问题3.4 流程问题3.5 混杂4 集合和分开4.1 盖,击中和分裂4.2 被衡量的集合问题4.... 阅读全文

posted @ 2011-11-03 14:59 龙豆 阅读(1369) 评论(0) 推荐(0)

2011年10月18日

poj-2170 Lattice Animals *****

摘要: /* * 2170.cpp * * 很繁的一个题。。。 * * dfs + hash * 这个速度很慢, 不过答案应该都是对的, 先贴上来吧。。 最近没时间做了 。 以后再改。。 * * 可以改进的有 搜索方式 和 hash函数 * * Created on: 2011-10-17 */#include <cstdio>#include <cstring>using namespace std;const int maxp = 5000 + 10;const int maxn = 25, z = 12;const int hashNum = 19997;const in 阅读全文

posted @ 2011-10-18 22:49 龙豆 阅读(688) 评论(0) 推荐(0)

2011年10月16日

poj-1226 Substrings ***

摘要: /* * 1226 KMP * * 用的KMP, O(n^3) * 由于数据规模小, 直接暴力枚举最短串的各个子串再依次与其他串KMP应该也能过 (复杂度也是O(n^3)) * * 这里不直接枚举各个子串, 而是枚举子串的起点位置, 依次与其他串KMP, 记录和每个串及其反串的最大匹配长度, * 再以此计算这些值的最小值, 就得到该起点的子串所能达到的最大匹配长度(与刚才的方法其实差不多) * */#include <cstdio>#include <cstring>using namespace std;const int maxN = 100 + 5;const i 阅读全文

posted @ 2011-10-16 23:37 龙豆 阅读(291) 评论(0) 推荐(1)

poj-2752 Seek the Name, Seek the Fame **

摘要: /* * KMP * */#include <cstdio>#include <cstring>using namespace std;const int maxL = 400000 + 10;char str[maxL];int next[maxL], stack[maxL];//计算next数组void preKMP(char *p, int len){ int k, j; //next[0] = -1 是为了标记第一个值.. 也可以把字符数组往后移一位,这样next[1] = 0, 比较正常 next[0] = -1; j = 1, k = -1; ... 阅读全文

posted @ 2011-10-16 17:24 龙豆 阅读(228) 评论(0) 推荐(0)

POJ上的LCA问题小结 [转]

摘要: 1330和1470是入门系列,可以说基本上时用来测试板子的 1986比上面两个稍微多了一个距离,但是本质还是一样的对于一个询问d[u,v]=dis[u]+dis[v]-dis[LCA(u,v)]可以一边LCA一边动态修改当前点到根的距离 3728其实就是记录的东西多了一点(1)孩子到父亲最大价格(2)孩子到父亲最小价格(3)从自己到祖先的最大收益 (4)从祖先到自己的最大收益,这里的分情况讨论只需要手动的画下草图,在使用并查集的同时,做更新操作,维护上面提到的四个变量,对于一个查询,我们用 爬山坡的方式保留最优值,这里画图会显的更为直观 3694说实在的和LCA没有特别大的关系,就是df... 阅读全文

posted @ 2011-10-16 11:52 龙豆 阅读(2238) 评论(0) 推荐(0)

poj-1330 Nearest Common Ancestors **

摘要: /* * poj-1330.cpp * LCA * * LCA入门题 * * 没有用tarjan的离线算法, 用了个在线的, 时间复杂度O(n)-O(sqrt(n)) * * height为树的高度 * 把树按层次分成sqrt(height)个段,每段sqrt(height)层。 * * 对LCA(x, y) * 先把x, y 导入到同一段, 由于最多sqrt(height)段, 所以O(sqrt(height)) * 再在同一段内, 按普通方法找到x, y的LCA, 由于每段sart(height)层, 所以O(sqrt(height)) * 故查询时间为 O(sqrt(height)) = 阅读全文

posted @ 2011-10-16 11:46 龙豆 阅读(448) 评论(0) 推荐(0)

2011年10月15日

C++ 随机数生成 [转]

摘要: C++ 随机数生成 标准库<cstdlib>(被包含于<iostream>中)提供两个帮助生成伪随机数的函数:函数一:int rand(void);从srand (seed)中指定的seed开始,返回一个[seed, RAND_MAX(0x7fff))间的随机整数。函数二:void srand(unsigned seed);参数seed是rand()的种子,用来初始化rand()的起始值。可以认为rand()在每次被调用的时候,它会查看:1) 如果用户在此之前调用过srand(seed),给seed指定了一个值,那么它会自动调用srand(seed)一次来初始化它的起始 阅读全文

posted @ 2011-10-15 23:22 龙豆 阅读(319) 评论(0) 推荐(0)

上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 29 下一页

导航