上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 20 下一页
摘要: 实例1:(USACO A Game) 有一列数排列, 甲乙两个人每次可以从头或者从末尾取一个数, 问甲乙在采取最优策略的基础下分别分别得分是多少? 这个题带有一丝区间的味道, 因此我们定义dp[i][j]为先取者所能取得的得分, 然后我们思考对于当前的i-j的序列甲先取的话有两种取法, 即1.从头取 阅读全文
posted @ 2016-02-06 23:23 xing-xing 阅读(1539) 评论(0) 推荐(0) 编辑
摘要: 这道题的意思是平面上有一些点, 这些点从西向东分布,现在选一条路线从最西走向最东 在反过来走, 问选择一条路线走尽可能多的城市, 我们可以将这个问题看成两个人从最西边走向最东边, 定义f[i][j]为1走向i而2走向j的最大城市数,f[j][i] = f[i][j] = max(f[i][k]) + 阅读全文
posted @ 2016-02-05 22:20 xing-xing 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 这道题是求解几个矩形未被遮挡的面积问题, 可以使用漂浮法来解决, 什么事漂浮法请看这里http://www.nocow.cn/index.php/USACO/window, 代码如下: /* ID: m1500293 LANG: C++ PROG: window */ #include <cstdi 阅读全文
posted @ 2016-02-05 22:08 xing-xing 阅读(343) 评论(0) 推荐(0) 编辑
摘要: 这一个题就是问你在有树的格子农田里面最大的没有树的方格多大,这道题可以使用动态规划解决,定义dp[i][j]为i j开始的最大方形的边长 那么dp[i][j] = min(dp[i+1][j], dp[i][j+1], dp[i+1][j+1]) + 1, 初识dp[i][j] = 0, 代码如下: 阅读全文
posted @ 2016-02-05 22:04 xing-xing 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 这个题的意思是有一个有向图, 每个顶点可以发送软件到与其相连的顶点上, 现在问1,至少发送给几个顶点能满足所有顶点都收到软件, 2:如果想让这个图变成强连通图,至少添几条边。 特例是给定的图是一个强连通图的话答案是1, 0. 一般情况下我们先将这个图的强连通分量求出来缩成一个点然后统计入度为0的点和 阅读全文
posted @ 2016-02-03 22:47 xing-xing 阅读(246) 评论(0) 推荐(0) 编辑
摘要: const int max_v = 120; struct Scc { int V; //图的顶点数 vector<int> G[max_v]; //原始图 vector<int> rG[max_v]; //反向边的图 vector<int> vs; //后序遍历顶点列表 bool used[max 阅读全文
posted @ 2016-02-03 22:40 xing-xing 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 刚开始写了一个暴力的dfs超时了, 最后看了下题解说是先枚举答案再判断,然后就写了双dfs,全部秒杀,代码如下: /* ID: m1500293 LANG: C++ PROG: milk4 */ #include <cstdio> #include <cstring> #include <algor 阅读全文
posted @ 2016-02-03 22:39 xing-xing 阅读(526) 评论(0) 推荐(0) 编辑
摘要: 这个题和传统的走迷宫题非常像, 不同点事这个题选定一个方向后会一直走知道遇到障碍物 走到边缘 或者走到已经走过的点, 我们可以使用dfs来解决这个问题,dfs(x, y, dir, steps)表示从起点到x, y花费的步数, 在搜索的时候把握的一个原则就是每次会走到一个新的格子上。。。代码如下: 阅读全文
posted @ 2016-02-02 17:54 xing-xing 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 这道题的意思是给你一个长度不超过5000的串, 让你求解一个主题串, 其中主题串的定义是在这个串中重复出现过两次,没有重叠部分, 且两个串各减某个数后序列一样。。我们可以定义dp[i][j]为从i位置和j位置开始相同的串的长度, dp[i][j] = dp[i+1][j+1] + 1; 其中num[ 阅读全文
posted @ 2016-02-02 10:41 xing-xing 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 这个题就是图像识别类型的模拟题, 我们可以先将每个图像所在的矩形求出来然后在进行比对,实现的时候我们对每个图形进行染色, 记录染色的区域, 在统计一下染色的数目, 那个两个图像相同的充分必要条件就是a的数目等于b的数目,a染色的区域b也染色。代码如下: /* ID: m1500293 LANG: C 阅读全文
posted @ 2016-02-01 21:59 xing-xing 阅读(174) 评论(0) 推荐(0) 编辑
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 20 下一页