3.3测试驱动风格
严格的说测试驱动风格不是设计风格,它是为了能够保证程序员思路清晰热情持续,我们采用的一种策略。
部队长时间在雪地上行走,会出现雪盲症,战士出现幻觉,像梦游,注意力不集中
一般派先前部队在路上在地上撒一些树枝或别的东西解决。
同理,程序员也一样,如果长时间编码缺少反馈,也会使程序员思维钝化,产生幻觉。
测试驱动可以使程序员能够把他的任务转变为不断地制造错误和...
分类:
其他好文 时间:
2014-05-22 13:39:32
阅读次数:
242
http://acm.hdu.edu.cn/showproblem.php?pid=2833
大致题意:给定一个无向图,以及悟空和师傅起点与终点,求它们分别从起点到终点的最短路径中经过相同的点的最大个数。
思路:首先dijkstra求出最短路,那么如果有dis[a] + map[a][b] = dis[b],则边(a,b)一定在最短路径上。根据这一定理可以求出所有最短路径。然后...
分类:
其他好文 时间:
2014-05-22 13:00:41
阅读次数:
234
进入五月份开始的三层架构的学习。那个时候,三层只是理解了一些理论知识。还有在师父验收三层登陆实例的时候,只知道三层是如何建立起来的。而且在验收的过程中,发现很多逻辑性的错误。三层结束到机房重构,之间不知道停顿了多久。总之,真正开始重构的也就一个星期左右。
在三层结束之后,就要谋划机房重构的问题了。但是,对于已经学习了很多理论知识之后。发现,对于要开始重构机房一点思路都没有,不知道是先从哪...
分类:
其他好文 时间:
2014-05-22 10:28:36
阅读次数:
278
题目:
链接:点击打开链接
题意:
给出N种设备的价值和数量,怎样尽可能的平分。
算法:
多重背包。
思路:
1.转化为01背包解决。2.使用单调队列优化O(VN)算法。
代码:
法一:
#include
#include
#include
using namespace std;
int n;
int v[55],m[55];
int...
分类:
其他好文 时间:
2014-05-22 09:09:38
阅读次数:
205
题目链接:1073 - Glenbow Museum
题目大意:一个边平行与坐标轴的多边形,可以通过描述角的方式来表示,R表示90度,O表示270度,现在给出序列的长度L,问可以构造出多少种不同的多边形,要求构造出来的多边形在内部有一点可以看到边界的每一个点(我的理解应该是凸多边形)。
解题思路:首先确定是一个凸多边形,所以不可能有两个O相邻,并且在整个序列中,要有4个的RR(即两个R...
分类:
其他好文 时间:
2014-05-22 09:05:42
阅读次数:
272
http://acm.hdu.edu.cn/showproblem.php?pid=3832
大致题意:给出n个灯的位置以及每个灯照亮的范围。问最后至多可以熄灭多少盏灯使得编号为1,2,3的点连通。
思路:若任意两灯的照亮范围相交,那么两点之间建边,权值为1。最后枚举一点使它到1,2,3点的距离最近,那么该距离之和+1(还有该点本身)代表必须不能熄灭的灯,那么熄灭的灯数就求出来...
分类:
其他好文 时间:
2014-05-22 08:46:23
阅读次数:
229
今天可爱的Mayuyu会带领大家来学习一个东西,那就是异或最大,Mayuyu的问题描述如下。
题目:给定一个数组a[],再给出m个询问,每个询问一个数x,在数组a[]中找出一个数y,使得x与y的异或值最大。
分析:最直观的思路就是对于每一个询问,直接暴力在数组a[]中比较,找最大的,但是这样做的时间复杂度会很大。
我们有一个很好的解法,那就是字典树,假设所有的数字范围均...
分类:
其他好文 时间:
2014-05-20 16:02:01
阅读次数:
253
题目连接:uva 1362 - Exploring Pyramids
题目大意:给出一个字符串,问有多少种多叉树德前序遍历(这里每经过一个节点,该节点的值即要被算入,回溯的也要)满足该字符串。
解题思路:dp[i][j]表示从i到j的位置可以用多少种多叉树表示。转移方程:dp[i][j]=∑k=i+2jdp[i+1][k?1]?dp[k][j]。
#include
#include...
分类:
其他好文 时间:
2014-05-20 15:32:08
阅读次数:
254
题目链接:uva 11361 - Investigating Div-Sum Property
题目大意:给出a,b,k,问说在[a,b]这个区间有多少n,满足n整除k,以及n的各个为上的数字之和也整除k。
解题思路:数位dp,dp[i][j][x]表示第i为的时候,n整除k余j,n(以及考虑到的位数)的各个位置上的数字之和整除k余x的情况总数,并且每次要计算上限的临界值。
#inc...
分类:
其他好文 时间:
2014-05-20 15:26:47
阅读次数:
215
题目链接:12123 - Magnetic Train Tracks
题意:给定n个点,求有几个锐角三角形。
思路:和UVA 11529是同类的题,枚举一个做原点,然后剩下点根据这个原点进行极角排序,然后利用two pointer去遍历一遍,找出角度小于90度的锐角,然后扣掉这些得到钝角三角形的个数,然后在用总情况去扣掉钝角就是锐角或直角
代码:
#include
#include
#...
分类:
Web程序 时间:
2014-05-20 14:10:56
阅读次数:
412