链接:http://poj.org/problem?id=3259
Description
While exploring his many farms, Farmer John has discovered a number of amazing wormholes. A wormhole is very peculiar because it is a one-way path t...
分类:
其他好文 时间:
2014-06-05 05:26:33
阅读次数:
240
POJ 1401 && ZOJ 2202 Factorial 阶乘N!的末尾零的个数
题目地址:
POJ 1401
ZOJ 2202
题意:
求N!后面有几个0。
分析:
组合数学类型的题目。
正常的话可能会去分解1~N数里面有几个5和2,但是这样的复杂度为O(nlogn)。
其实有更巧妙的办法,可以把问题分解成子问题。
可以发现N!末尾的0与1~N中...
分类:
其他好文 时间:
2014-06-05 04:43:02
阅读次数:
248
http://poj.org/problem?id=2728
大致题意:有n个村庄,输入每个村庄的位置和高度,这n个村庄要连在一起,村与村之间的长度为他们之间的欧几里得距离,花费是两村之间的高度差,要求连在一起的花费和与距离和之比的最小值。
思路:明显的最优比率生成树。二分答案λ,每条边重新赋权c[i] - λd[i] ,因为要求比值最小,那么对于所有的生成树,它们的f[λ]必须>...
分类:
其他好文 时间:
2014-06-05 04:18:42
阅读次数:
162
比起POJ弱爆了一题,从后往前扫描一遍,O(n)时间,只要注意各种极端情况即可,不明白通过率为什么只有13%。
#include
#include
using namespace std;
class Solution {
public:
void reverseWords(string &s) {
char* cstr = new char[s.size()+1];
...
分类:
其他好文 时间:
2014-06-05 03:45:47
阅读次数:
221
向量偏移——由“食物链”引发的总结
http://poj.org/problem?id=1182这道食物链题目是并查集的变型,很久以前做的一次是水过的,这次仔细地研究了这“食物链”,无非就是运用向量偏移,从以前节点与节点转化成向量与向量的关系。我们可以把矛盾的产生得益于向量偏移时的结果。
直接引出向量偏移的运用。
下面是POJ一位大牛这样理解的,本人稍有修改。
对于集合里...
分类:
其他好文 时间:
2014-06-05 03:29:27
阅读次数:
205
本题应该挺经典的,因为可以使用好多方法过,适合训练多种高级数据结构和算法。
这里使用AVL平衡二叉树的解法,时间还可以,大概300ms吧,内存很省188k,因为这里使用指针,没有浪费内存。
这里使用Geeks上面的AVL的做法,使用递归更新树,而不使用双亲指针,试了下使用双亲指针,真的好麻烦,要维护多一个指针,容易出错很多。
递归操作二叉树是非常优雅的。
而且不需要使用任何STL容器,非常...
分类:
其他好文 时间:
2014-06-05 01:56:58
阅读次数:
269
NYOJ 954 求N!二进制末尾几个0
题目地址:
NYOJ 954
题意:
中问题不解释。
分析:
即是求N!二进制末尾几个0,换句话就是求N!的因子有几个2。
具体做法跟POJ 1401一样,题解见:POJ
1401 && ZOJ 2202 Factorial 阶乘N!的末尾零的个数
代码:
/*
* Author: illuz...
分类:
其他好文 时间:
2014-06-05 01:18:49
阅读次数:
282
??
Description
The country is facing a terrible civil war----cities in the country are divided into two parts supporting different leaders. As a merchant, Mr. M does not pay attention to politic...
分类:
其他好文 时间:
2014-06-05 00:16:43
阅读次数:
266
POJ 1150 The Last Non-zero Digit 数论+容斥
题目地址:
POJ 1150
题意:
求排列P(n, m)后面第一个非0的数。
分析:
为了熟悉题目中的理论,我先做了俩初级的题目:
POJ 1401,题解见:POJ
1401 && ZOJ 2202 Factorial 阶乘N!的末尾零的个数
NYOJ 954,题解见:NYO...
分类:
其他好文 时间:
2014-06-04 22:49:42
阅读次数:
322
POJ 1715 Hexadecimal Numbers 组合数学
题目地址
题意:
一个十六进制,最多8位而且每一位都不能重复,求所有符合的数中第n大的数。注意不能有前导0。
分析:
可以发现,第i位的任何一个取值,都有P(unused, i - 1)个数字串,只要从高位向低位,从F到1找过去,看第n个是否在这个区间里面,如果没有的话就把那位置为0,然后找下一位就行了。...
分类:
其他好文 时间:
2014-06-04 21:14:02
阅读次数:
272