题目链接:http://poj.org/problem?id=1113题目大意:给出点集和一个长度L,要求用最短长度的围墙把所有点集围住,并且围墙每一处距离所有点的距离最少为L,求围墙的长度。解法:凸包+以L为半径的圆的周长。以题目中的图为例,两点之间的围墙长度之和正好就是凸包的长度,再加上每个点的...
分类:
其他好文 时间:
2014-05-06 00:56:54
阅读次数:
325
题意:有一个有线电视网络叶子结点是用户,每个用户有一个愿意支付的金额。然后每条边都有话费。问公司在不亏本的情况下最多能满足多少用户。思路:dp[v][j]
= max(dp[v][j], dp[v][j-k]+dp[x][k]-edge(v, x))其实就是背包问题,但是一开始TLE了一次,这里要有...
分类:
其他好文 时间:
2014-05-06 00:04:24
阅读次数:
318
题意:一棵树上问你最少切掉几条边使得能分割出一个结点数正好为k的子树。思路:dp[i][j]表示以i为根切掉j个结点最少要几条边。dp[v][j]
= min(dp[v][j], dp[v][j-k] + dp[x][k]);代码如下: 1 dp[v]...
分类:
其他好文 时间:
2014-05-05 23:47:19
阅读次数:
370
1 /* 2
题意:八数码问题,给出3*3的矩阵含1~8以及x,给出一个符合的解使得移动后的矩阵的顺序为1~8,最后为x 3 4 题解:BFS 5
需要用到康托展开来表示状态,不然数组无法完全表示所有状态,这样BFS就无法判断找不到解的情况(status 6 的0ms,0KB究竟是怎...
分类:
其他好文 时间:
2014-05-05 22:34:16
阅读次数:
403
poj 2249 Binomial Showdown 组合数公式优化...
分类:
其他好文 时间:
2014-05-03 17:24:41
阅读次数:
329
题目:大意就是猜数,给定个四位数,然后给出这个数与正确的数之间的比较(#A*B,#代表有#个数字他的值和位置都对了,*代表有*个数的值对了),给出n个上述的4位数,让你确定这个正确的数是多少。
思路:直接暴力。
注意:程序结束是n为负数,而不是-1,为此超时了两次 T T。
代码:
#include
#include
#include
using namespace std;
str...
分类:
其他好文 时间:
2014-05-02 21:16:30
阅读次数:
314
OJ题目:click here~~
题目分析:四柱汉诺塔。由于题目已经给出了求解方法,直接写代码即可。下面总结一下,四塔问题。
感谢这篇文章的作者,点这里就到,总结的很好。直接贴过来~
四塔问题:设有A,B,C,D四个柱子(有时称塔),在A柱上有由小到大堆放的n个盘子。
今将A柱上的盘子移动到D柱上去。可以利用B,C柱作为工作栈用,移动的规则如下:
①每次只能移动一个盘子。
②在移...
分类:
其他好文 时间:
2014-05-02 21:10:00
阅读次数:
376
题目链接:
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3749
Chameleon
Time Limit: 6 Seconds Memory Limit: 65536 KB
Given n groups of integers(all the integers are distin...
分类:
其他好文 时间:
2014-05-02 19:06:34
阅读次数:
447
暴力法可过,效率O(n^2)
但是使用hash表可以把效率降到近乎O(n)
要巧妙使用两个map容器。
要对map和set容器很熟悉了,合起来一起使用。...
分类:
其他好文 时间:
2014-05-02 10:54:55
阅读次数:
365
本题因为数据量小,可以使用暴力法,时间效率是O(n^3)
但是这里巧用最大子段和的思想,可以把时间效率降到O(n)
思想:
1 想使用一个新的数列,计算连续出现了多少个1和连续出现了多少个零
2 求这个新数列的最大子段和
3 Flip最大子段中的 0 和 1,
4 计算出结果
比暴力法复杂很多了,但是时间效率却提高了三个档次。...
分类:
其他好文 时间:
2014-05-02 10:39:46
阅读次数:
584