上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 20 下一页
摘要:   阅读全文
posted @ 2016-03-14 12:48 xing-xing 阅读(591) 评论(0) 推荐(0) 编辑
摘要: 这个题的意思是农夫约翰要呆人参观他的农场, 刚开始从1开始走, 走到N后又返回1点, 两次不能走相同的路, 问农夫约翰走的最短的路是多少?? 我们可以用最小MCMF来解决这个问题, 对于图中的每一条边, 我们建立了两条流量为1, 费用为边权的边, 再增加一个源点和一个汇点, 源点指向1, 流量为2, 阅读全文
posted @ 2016-03-14 12:47 xing-xing 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 这道题的意识是给你N个机器和M个任务, 每个任务有两个值花费时间x和难度y, 每个机器也有两个值最大工作时间x1和最大工作难度y1, 机器可以胜任某个工作的条件是x1>=x && y1>=y,机器胜任一个工作可以拿到x*500+2*y的钱,现在问你怎么匹配才能使匹配数最大且钱数最多。 由于数据量过大 阅读全文
posted @ 2016-03-13 21:08 xing-xing 阅读(1679) 评论(6) 推荐(0) 编辑
摘要: 这个题的意思是给你n个人围成一圈, 刚开始报1的人自杀, 接下来报2的人自杀, 依次类推, 问最后剩下的人是谁? 我们可以定义f[i][j] 为一共有i个人 开始依次报j j+1 j+2的人自杀, 那么f[i][j] = (f[i-1][j+1] + j)%i, f[1][j] = 0;代码如下: 阅读全文
posted @ 2016-03-13 16:06 xing-xing 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 这个题的意识是给你一个长度为n的序列, 序列只包含小写字母, 问你每个字母最多重复出现三次的方案数是多少?我们可以使用f[n]表示长度为n的方案数, 那么f[n] = 25*(fn-1 + fn-2 + fn-3) , 代码如下:   阅读全文
posted @ 2016-03-12 22:54 xing-xing 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 这道题的意思是问你一个矩形形能分成几个正方形, 可以联系gcd的求解过程, 一个n*m的矩形可以被划分成n*(m%n)的小矩形。。 代码如下:   阅读全文
posted @ 2016-03-12 22:44 xing-xing 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 这个题就是给你一个只含有0和1的矩阵, 问你能否通过行列交换使得对角线上的元素全为1, 首先需要注意的是我们仅通过行交换或者列交换就可以使得矩阵满足条件, 然后我们将行和列看成点, 矩阵中1的元素看成边, 建立一个有向图, 求出行列的最大匹配数,即可。。代码如下:   阅读全文
posted @ 2016-03-12 22:26 xing-xing 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 这个题的意思是初始给你N个砖块, 维护两个操作, M a, b表示将含有a的堆放到b堆得上面(a和b在同一堆得话那么就忽略此操作, 有种并查集的感觉), C a查询a下面有几个砖块, 其实我们可以使用带权的并查集来维护这个题, 增加两个变量under[i]表示i下面有几个装快, cnt[i]表示以i 阅读全文
posted @ 2016-03-12 10:09 xing-xing 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 这个题的意思是给你N个序列, 每个序列可能是等比数列也可能是等差数列, 求出数列的第k项, 代码如下: #include <cstdio> #include <algorithm> #include <cstring> #include <iostream> using namespace std; 阅读全文
posted @ 2016-03-11 20:13 xing-xing 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 这个题的意思是给你一个方格, X代表房子, .代表空, 在连通的X之间行走不需要花费, 给你起点坐标和终点坐标, 问从起点到终点的最少花费? 对于这个我们可以使用双bfs来解决这个问题, 即遇到了X就用bfs2来填充, 边界又放入bfs1中更新, 代码如下: #include <cstdio> #i 阅读全文
posted @ 2016-03-11 19:43 xing-xing 阅读(307) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 20 下一页