摘要:
转自:http://blog.csdn.net/opennaive/article/details/7514146江湖传说永流传:谷歌技术有"三宝",GFS、MapReduce和大表(BigTable)!谷歌在03到06年间连续发表了三篇很有影响力的文章,分别是03年SOSP的GFS,04年OSDI... 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=4737【题意】:给出a数组和m,求 f(i, j) = ai|ai+1|ai+2| ... | aj ,f(i, j) 2 #include 3 #include 4 #include 5 using name... 阅读全文
摘要:
【题意】:给你一个n*m的地图,问你从起点出发,必须经过几个特定的点所需的最短时间【思路】:地图较小且这里最多有4个点必须经过的点,所以直接BFS就可以了,step[x][y][zt] 表示在点[x,y]且已经走过的点的状态为zt(二进制表示)(要是数据量大一点 可以先预处理这些必须经过的点两两之间... 阅读全文
摘要:
Mi= sum(i点所有流进来的下界流)– sum(i点所有流出去的下界流)如果Mi大于0,代表此点必须还要流出去Mi的自由流,那么我们从源点连一条Mi的边到该点。如果Mi小于0,代表此点必须还要流进来Mi的自由流,那么我们从该点连一条Mi的边到汇点。如果求S->T的最大流,看是否满流(S的相邻边都... 阅读全文
摘要:
【题意】:给了一棵树,要求选两个点作为消防队,使得其它点到这两个消防队的最大距离尽量小,每个点只会选择离它近的消防队树的直径是指树的最长简单路。求法: 两遍BFS :先任选一个起点BFS找到最长路的终点,再从终点进行BFS,则第二次BFS找到的最长路即为树的直径; 原理: 设起点为u,第一次BFS找... 阅读全文
摘要:
比赛的时候只想到的暴力枚举的方法 枚举n的倍数 但是不确定到哪里为止输出-1。看了题解其实可以转化为,0-9这十个数字里面的若干个数字组合出一个数,使这个数是N的倍数,求最小的这个这样的数,不存在的话输出-1。这样地话就成了一道bfs的题目,再加一个很巧妙的剪枝,可以在规定时间求出。参考大神博客:h... 阅读全文
摘要:
一 插入排序简单插入排序希尔排序二 快速排序 快排是冒泡排序的改进,每做一次排序可以确定一个数最终的位置p,同时把所有小于这个数的放在它左边,小于这个数的放在它后面。再递归地进行p左边部分和p右边部分的排序就可以了。 代码: 1 #include 2 #include 3 using name... 阅读全文
摘要:
刚开始觉得 直接从s到t 再t到s 求最短路就可以了嘛 第一次走过的路径 第二次不能再走 我都开始写了 写着写着猛然想到不行 (因为可能第一次走的不是最短路 但是一个来回却最短的) - - 还是得用网络流。 阅读全文
摘要:
d[i][j]表示i行j列格子可以得到的最大值顺着来的时候d[i][j]=max(d[i-1][k]+sum[k...j])=max(d[i-1][k]-sum[1..k-1]+sum[1...j]) sum[1...j]是固定值 只要找d[i-1][k]+sum[1...k] 的最大值就可以了找法... 阅读全文
摘要:
【题意】:给定F个牛棚和P条路径,每条路径有一个长度,现在每个牛棚有一定的容量和牛数,因为牛棚牛数可能大于容量,所以要牛棚之间的牛要进行相互地移动,每移动一个距离就花费一单位的时间,求从开始移动到每头牛都移动到牛棚的最小时间。一开始自己建图建错了,把每个点i拆成i'和i'',若i-->j有边 就i'... 阅读全文