链接: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
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
裸dijkstra
思路:以x为源点,求到其他点的最短路,之后把邻接矩阵转置,再求一次x源
点的最短路,这样就一次是来的,一次是走的,相加迭代最大值即可
代码:
/*
poj 3268
8108K 47MS
*/
#include
#include
#define MAXN 1005
#define MAX_INT 2147483647
using namespace s...
分类:
其他好文 时间:
2014-06-04 23:32:57
阅读次数:
303
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
题意:求一条线上最多几个点
思路:枚举一个点,然后求出过这个点的直线的斜率来求最大值
#include
#include
#include
#include
#include
#include
using namespace std;
const int MAXN = 710;
const int INF = 1e7;
int arr[MAXN][2],n;
float brr[...
分类:
其他好文 时间:
2014-06-04 22:29:53
阅读次数:
333
POJ 1715 Hexadecimal Numbers 组合数学
题目地址
题意:
一个十六进制,最多8位而且每一位都不能重复,求所有符合的数中第n大的数。注意不能有前导0。
分析:
可以发现,第i位的任何一个取值,都有P(unused, i - 1)个数字串,只要从高位向低位,从F到1找过去,看第n个是否在这个区间里面,如果没有的话就把那位置为0,然后找下一位就行了。...
分类:
其他好文 时间:
2014-06-04 21:14:02
阅读次数:
272