上一页 1 2 3 4 5 6 7 8 9 10 ··· 19 下一页
摘要: 题目连接:http://poj.org/problem?id=3273题意:给出农夫在n天中每天的花费,要求把这n天分作m组,每组的天数必然是连续的,要求分得各组的花费之和应该尽可能地小,最后输出各组花费之和中的最大值思路:这个花费的最大值一定介于所有值的和与所有天数中最大的哪一个。直接让l = maxday ,r = sum然后取中值,枚举,从第一天开始,如果现在的金钱大于mid,那么组数就+1这样就检查组数即可,假设是小于,说明这个mid值明显偏大。这样即可找出答案代码:View Code 1 #include <stdio.h> 2 #include <iostream 阅读全文
posted @ 2013-03-27 15:43 某某。 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 最近做了一下网络流的题。发现很多题可以转化为网络流,比如地图上的点POJ 3422 和Going Home。最大流的题目真心不能手贱啊,那天一道题跪了一天,晚上才看到写错了一个下标,后来有一道题有看了一晚上一直到2点多,以后没事一定要不数据输出出来,最后输出的时候发现忘了加pop()你这不坑爹吗。今天一直输出忘了return 1= =.哎,说说总结吧1.做过的次数可以化为点之间的容量2.对于走过之后的数据清零比茹3422就可以把拆点,每走到自己的点的时候就把自己和自己连起来,一天有费用的一条没有没用的,有费用的边容量为1;3.重边不能用邻接矩阵。加重边的时候要加费用相同4.注意容量问题,想清楚 阅读全文
posted @ 2013-03-27 14:13 某某。 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 题目连接:http://poj.org/problem?id=2516题意跟题目输入这里写的很明白:http://blog.csdn.net/lyy289065406/article/details/6742534无非就是k种物品,直接对每种物品进行一次最大流就OK了~View Code 1 #include <iostream> 2 #include <queue> 3 #include <iostream> 4 #include <cstdio> 5 #include <cstring> 6 #include <vector 阅读全文
posted @ 2013-03-27 13:43 某某。 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 题目连接:http://poj.org/problem?id=2195题目大意 :题目的意思就是给你一个map然后m代表人,h代表house,一个人只能进入一个house,一个house只能住一个人,问你所以人进入house所能用的最小步数是多少~思路:把man和house分别看做一个集合,这样的话你就可以对每个人和每个house 连接,cao = 1,cost = abs(x1-x2)+abs(y1-y2);然后开一个超级源点就可以了。其实模型就是走多少次就是容量。费用根据题目而定。View Code 1 #include <iostream> 2 #include <cs 阅读全文
posted @ 2013-03-27 13:38 某某。 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 题目连接:http://poj.org/problem?id=3422题目大意:n*N的格子,每个格子上都有数字,从左上角往右下角走,只能往右或者往下走,每走一个格子就加上格子上的分数,走过后格子上的分数为0,走K遍。问能够得到的最大的格子数是多少。这题如果不是做费用流专题真心不会想不到费用最大流。以为是K次,所以可以设容量为K。费用为当前格子的分数。然后因为每个点只记录一次分数,所以,用拆点来处理,用自己和自己连接一下,容量为1,费用为k然后再设一条边容量为K-1次,费用为0;然后就是设超级源点和汇点,容量为K费用为0;我还有一个思路就是每条边的权值都为K,然后找到最大流的时候直接把COST 阅读全文
posted @ 2013-03-27 13:18 某某。 阅读(217) 评论(0) 推荐(0) 编辑
摘要: C++ sort函数用法FROM:http://hi.baidu.com/blackdemonfish/blog/item/e2c1d655d702a45ed0090652%2Ehtml最近算法作业经常需要排序。偶是一个很懒的人,于是一直用C++的sort进行排序~~~不少同志对此心存疑虑,所以今天就写一写sort的用法。声明:此用法是从某大牛的程序中看到的,其实偶只是拿来用,不知所以然,飘走~~~~~MSDN中的定义:template<class RanIt>voidsort(RanIt first, RanIt last); //--> 1)template<cla 阅读全文
posted @ 2013-01-21 11:43 某某。 阅读(275) 评论(0) 推荐(0) 编辑
摘要: link:http://acm.hdu.edu.cn/showproblem.php?pid=2063匈牙利算法代码:View Code 1 #include <stdio.h> 2 #include <string.h> 3 #include <stdlib.h> 4 #include <iostream> 5 using namespace std; 6 int map[1005][1005]; 7 int used[1005],linker[1005]; 8 int find(int x,int n) 9 {10 int i;11 for( 阅读全文
posted @ 2013-01-19 11:13 某某。 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 题目连接:http://poj.org/submit?problem_id=3281有人所用邻接矩阵会超时。。。然后。。。哥笑了~(*^__^*) 嘻嘻……其实这题我觉得这不超时这题一开始崔老师说把牛放中间我的意思是把人放在最前面,因为如果放在中间1头牛3物三水的话答案就会错误,但是如果把人放在前面感觉又会不大对= =。。然后崔老师就神一般的回答说拆点!顿时天亮了= =。。。其实我真心不知道拆点是神马。。。比赛有一道拆点我枚举匹配一下就过了。。虽然也是拆点的思想= =。。。总之拆点就是为了先吃每个点的出度唯一(个人理解)而做的重复两次操作。博客的上一个acm computer其实就是拆点。。。 阅读全文
posted @ 2013-01-19 00:03 某某。 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 题目连接:http://poj.org/problem?id=3436英语不好,直接在网上搜的题意、、、很详细题意:电脑工厂有N台机器,每台机器对半成品电脑进行加工。每个电脑由P个部件组成,用0和1表示某部件是否已存在(1表示存在了)。每台机器对加工的电脑都是有要求的,只有满足要求,才能进入机器进行加工。机器对电脑部件的要求用0,1,2表示,输入的P个数中,第i个数为ai,ai=0表示该半成品电脑不能有部件i,ai=1表示该半成品必须已有部件i(即1),ai=2表示有没有此部件都无关系。进入机器加工后的电脑出来后所含部件情况用P个数字(0或1)表示。输入:P和N,接下来N行介绍N个机器,第一个 阅读全文
posted @ 2013-01-18 17:03 某某。 阅读(384) 评论(0) 推荐(0) 编辑
摘要: 题目连接:http://poj.org/problem?id=1459题目实在是不好懂,直接在网上搜了好多题解看题意。。。对于多源多汇点的这种直接虚拟一个总会点就OK了。题意:Sample Input2 1 1 2 (0,1)20 (1,0)10 (0)15 (1)207 2 3 13 (0,0)1 (0,1)2 (0,2)5 (1,0)1 (1,2)8 (2,3)1 (2,4)7 (3,5)2 (3,6)5 (4,2)7 (4,3)5 (4,5)1 (6,0)5 (0)5 (1)2 (3)2 (4)1 (5)4Sample Output1562 1 1 2 (... 阅读全文
posted @ 2013-01-18 12:01 某某。 阅读(652) 评论(0) 推荐(1) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 19 下一页