随笔分类 -  关于树

摘要:题目链接: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1832 题意: 中文题诶~ 思路: 若二叉树中有 k 个节点只有一个子树, 则答案为 1 << k. 详情参见:http://blog.csdn.net/gyhg 阅读全文
posted @ 2017-10-19 16:10 geloutingyu 阅读(238) 评论(0) 推荐(0)
摘要:题目链接: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1464 题意: 中文题诶~ 思路: 将所有半回文串构建成一棵字典树, 再 dfs 里面字典序第 k 大的字符串. 注意插入半回文串时不能完全暴力插入, 不然插入的 阅读全文
posted @ 2017-10-15 16:04 geloutingyu 阅读(228) 评论(0) 推荐(0)
摘要:题目链接: http://codeforces.com/contest/834/problem/D 题意: 每个数字代表一种颜色, 一个区间的美丽度为其中颜色的种数, 给出一个有 n 个元素的数组, 问将其分成 k 个区间, 问 k 个区间的美丽度和最大为多少 . 思路: dp + 线段树区间更新, 阅读全文
posted @ 2017-08-09 15:09 geloutingyu 阅读(222) 评论(0) 推荐(0)
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=6070 题意: 给出一个题目提交序列, 从中选出一个正确率最小的子串. 选中的子串中每个题目当且仅当最后一次提交是正确的. 思路: 分数规划 二分答案, 然后在 check 函数中查找是否存在某个区j间 阅读全文
posted @ 2017-08-07 10:49 geloutingyu 阅读(542) 评论(0) 推荐(0)
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3830 题意: 有三个点 a, b, c, 对于其中任意一点 x 可以跨过一个点移动到另一个位置, 当且仅当移动前后的 x 与其所跨越的点的距离相等 .给出两组点, 问其能否相互到达, 若能并输出最少需 阅读全文
posted @ 2017-08-03 22:57 geloutingyu 阅读(257) 评论(0) 推荐(0)
摘要:题目链接: http://poj.org/problem?id=3694 题意: 给出一个 n 个节点 m 条边的图, 然后有 q 组形如 x, y 的询问, 在前面的基础上连接边 x, y, 输出当前图中有多少桥 . 思路: http://www.cnblogs.com/scau20110726/ 阅读全文
posted @ 2017-08-02 17:04 geloutingyu 阅读(362) 评论(0) 推荐(0)
摘要:题目链接: http://poj.org/problem?id=3417 题意: 先给出一棵树, 再添加 m 条新边, 然后再删除其中一条新边和一条树枝, 问有多少中删除方法可以使新树分成两部分 . 思路: lca + 树形dp 添加新边后必然形成环, 对于添加新边 (u, v), 形成的环为 u 阅读全文
posted @ 2017-07-30 14:47 geloutingyu 阅读(258) 评论(0) 推荐(0)
摘要:题目链接: http://poj.org/problem?id=2763 题意: 第一行输入 n, q, s 分别为树的顶点个数, 询问/修改个数, 初始位置. 接下来 n - 1 行形如 x, y, w 的输入为点 x, y 之间连边且边权为 w. 接下来 q 行输入, 若输入形式为 1 x y 阅读全文
posted @ 2017-07-23 15:38 geloutingyu 阅读(386) 评论(0) 推荐(0)
摘要:题目链接: http://poj.org/problem?id=3728 题意: 给出一棵带点权值的树, 对于 q 组形如 x, y 的询问, 一个人要从 x 到 y(单向), 他可以在路上任意一点以此点的的权值买一件物品, 并在接下来的路程中任意一点将其以该点的权值卖出, 输出其最大收益, 若不能 阅读全文
posted @ 2017-07-22 17:39 geloutingyu 阅读(433) 评论(0) 推荐(0)
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3078 题意: 给出一棵 n 个点的带点权值的树, 接下来有 q 组形如 k, x, y 的输入, 若 k == 0 则将 x 点的权值替换成 y, 否则输出 x 到 y 之间顶点地 k 大的权值. 思 阅读全文
posted @ 2017-07-20 12:52 geloutingyu 阅读(179) 评论(0) 推荐(0)
摘要:题目链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3195 题意: 给出一棵 n 个节点的带边权的树, 有 q 组形如 x, y, z 的询问, 输出 x, y, z之间的最短路径. 思路: 在纸上画下不难发现 x, 阅读全文
posted @ 2017-07-20 11:02 geloutingyu 阅读(292) 评论(0) 推荐(0)
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2874 题意: 给出 n 个顶点 m 条边的一个森林, 有 k 个形如 x y 的询问, 输出 x, y 之间的最短路径. 思路: 如果将森林换成一棵树的话就是一道 lca 模板题了, 不过本题需要稍作 阅读全文
posted @ 2017-07-19 20:08 geloutingyu 阅读(180) 评论(0) 推荐(0)
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2586 题意: 给出一棵 n 个节点的带边权的树, 有 m 个形如 x y 的询问, 要求输出所有 x, y节点之间的最短距离. 思路: dis[i] 存储 i 节点到根节点的最短距离, lca 为 x 阅读全文
posted @ 2017-07-18 21:08 geloutingyu 阅读(300) 评论(0) 推荐(0)
摘要:题目链接: http://codeforces.com/problemset/problem/804/C 题意: 有一颗含有 n 个顶点的树, 第 i 个顶点上有 k 个冰激凌, 每个冰激凌的种类为 si . 现在要给所有定点上的冰激凌染色 , 要求相同种类的冰激凌染相同的颜色, 并且同一个顶点上的 阅读全文
posted @ 2017-07-06 17:10 geloutingyu 阅读(548) 评论(0) 推荐(1)
摘要:题目链接: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1307 题意: 中文题诶~ 思路: 解法1:暴力树剖 用一个数组 num[i] 维护编号为 i 的边当前最大能承受的重量. 在加边的过程中根据给出的父亲节点将当前 阅读全文
posted @ 2017-07-05 15:41 geloutingyu 阅读(264) 评论(0) 推荐(0)
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1251 题意: 中文题诶~ 思路: 字典树模板 代码1: 动态内存, 比较好理解一点, 不过速度略慢, 代码略长 1 #include <iostream> 2 #include <stdio.h> 3 阅读全文
posted @ 2017-07-04 21:00 geloutingyu 阅读(236) 评论(0) 推荐(0)
摘要:题目链接: http://poj.org/problem?id=3667 题意:第一行输入 n, m表示有 n 间房间(连成一排的), 接下来有 m 行输入, 对于接下来的 m 行输入: 1 x : 询问是否有长度为 x 的连号空房, 若有, 住进最左边并输出对应编号; 2 x y : 将区间 [x 阅读全文
posted @ 2017-06-15 22:13 geloutingyu 阅读(420) 评论(1) 推荐(1)
摘要:题目链接: http://poj.org/problem?id=3225 题意: 初始给一个全局为 0~65536 的区间 s, 然后不断地对区间 s 进行 并, 交, 差, 相对差等运算, 输出最终结果; 思路: 很显然是线段树区间操作的路子, 但要 AC 还需细细斟酌; 下面一段题解摘自博客: 阅读全文
posted @ 2017-06-15 19:45 geloutingyu 阅读(375) 评论(0) 推荐(0)
摘要:题目链接: http://poj.org/problem?id=2528 题意: 第一行输入一个 t 表 t 组输入, 对于每组输入: 第一行 n 表接下来有 n 行形如 l, r 的输入, 表在区间 [l, r] 贴一张海报, 问最终能看见几张不同的海报; 思路: 线段树区间替换, 每次 upda 阅读全文
posted @ 2017-06-14 17:49 geloutingyu 阅读(179) 评论(0) 推荐(0)
摘要:题目链接: http://poj.org/problem?id=3468 题意: 输入 n, m表初始有 n 个数, 接下来 m 行输入, Q x y 表示询问区间 [x, y]的和; C x y z 表示区间 [x, y] 内所有数加上 z ; 思路: 线段树区间更新&区间求和模板; 代码: 1 阅读全文
posted @ 2017-06-13 20:35 geloutingyu 阅读(4614) 评论(0) 推荐(0)