摘要: http://poj.org/problem?id=3099 树的重心:找到一个点,其所有的子树中最大的子树节点数最少,那么这个点就是这棵树的重心 求树的重心 如何在点中构造符合条件的树 得到树后 从任意一个点出发 dfs一次找到离这个点最远的点作为root1 在以root1出发 同样的方式求得ro 阅读全文
posted @ 2017-04-21 21:47 Lorazepam 阅读(325) 评论(0) 推荐(0) 编辑
摘要: http://codeforces.com/problemset/problem/762/D 因为是3*n很巧妙的地方是 往左走两步或更多的走法都可以用往回走以一步 并走完一列来替换 那么走的方法就大大减少 左边一列转移到右边一列 每个 格子的转移方法枚举出来 用动态规划即可解决 最主要的是因为他能 阅读全文
posted @ 2017-04-21 21:40 Lorazepam 阅读(266) 评论(0) 推荐(0) 编辑
摘要: http://codeforces.com/problemset/problem/731/C 并查集+贪心 将要求颜色相同的袜子序号放入一个集合中 贪心:然后统计这个集合中出现次数最多但颜色 可以得到这个集合要repain的次数 代码有难度 统计集合数 int tot;//总的集合数 for (in 阅读全文
posted @ 2017-04-21 21:34 Lorazepam 阅读(221) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1231 Dp[i] 以a[i]元素结尾的子序列的最大和 记录 再记录一下起始位置即可 阅读全文
posted @ 2017-04-21 21:08 Lorazepam 阅读(200) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=5650 数学规律 如果只有一个数 输出 多个数 由于异或运算满足交换律 S的所有子集的元素异或 那么原子元素出现的次数是2^(n-1) 一定是偶数 那么异或的结果是0 阅读全文
posted @ 2017-04-21 21:05 Lorazepam 阅读(180) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=3615 基础题 狂STL 阅读全文
posted @ 2017-04-21 21:04 Lorazepam 阅读(397) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=3615 floyd 最短路径的变形 dist[i][j]变化为 : i j之间的最大边 那么输入的时候可以直接把dist[i][j] 当作i j 之间的边进行输入 转移方程 dist[i][j] = max(dist[i][j], min(dis 阅读全文
posted @ 2017-04-21 21:01 Lorazepam 阅读(168) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=3620 DFS 从任意一个lake出发 重置联通的lake 并且记录 更新ans 阅读全文
posted @ 2017-04-21 20:55 Lorazepam 阅读(172) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=3036 在每一个格子可以转移到与这个各自相邻的六个格子 那么设置转移变量 只需要六个 int d[6][2] = {-1, 0, -1, 1, 0, 1, 1, 0, 1, -1, 0, -1};然后设dp[i][j][k] : 第i步走到(j 阅读全文
posted @ 2017-04-21 20:52 Lorazepam 阅读(293) 评论(0) 推荐(0) 编辑