摘要:http://codeforces.com/contest/734/problem/E 看了题解,缩点 + 树的直径。 然而一直wa14. 注意到, 缩点后重建图,在5的时候,5和6建了一条边,然后6的时候,又和5建一次边。这个时候就要大数组了。 #include <cstdio> #include
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1223 一般遇到这些题,我都是暴力输出前几项,找规律。未果。 然后输出n = 1时候,以A开始,有多少个答案, n = 2的时候,A开始,B开始,有多少个答案。然后发现了规律。大数之 const int maxn
阅读全文
摘要:18002 Z-Scan 时间限制:1000MS 内存限制:65535K提交次数:0 通过次数:0 题型: 编程题 语言: 不限定 Description 输入格式 The first line is an integer N, the number of cases, 1<=N<=10 N lin
阅读全文
摘要:http://acm.scau.edu.cn:8000/uoj/mainMenu.html 18113 Secret Book of Kungfu 该题有题解 时间限制:1000MS 内存限制:65535K提交次数:0 通过次数:0 题型: 编程题 语言: 不限定 Description 输入格式
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5676 这题的正解因该是dfs的,但是有18个位,然后我一算,全排列的话,有18!个啊,那不是很大?但是有很多是相同的,因为4477和第一个和第二个数字调转的结果是一样的。 先说说我模拟的方法。 真的很麻烦,不想看
阅读全文
摘要:http://codeforces.com/contest/686/problem/D 给出q个询问,每次要求询问以x为根的子树中,哪一个点是重心。 树的重心:求以cur为根的子树的重心,就是要找一个点,使得删除这个点后,分开来的零散的子树中,节点数的最大值最小。并且最大值最多也只是son[cur]
阅读全文
摘要:http://acm.hdu.edu.cn/listproblem.php?vol=49 给定一颗树,然后对于每一个节点,找到它的任何一个祖先u,如果num[u] * num[v] <= k。则贡献加1 思路:主要的麻烦就是动态修改前缀和了。因为对于每个数字val。则找它祖先的话, <= k / v
阅读全文
摘要:多次修改一棵树节点的值,或者询问当前这个节点的子树所有节点权值总和。 首先预处理出DFS序L[i]和R[i] 把问题转化为区间查询总和问题。单点修改,区间查询,树状数组即可。 注意修改的时候也要按照dfs序修改,因为你查询就是按照dfs查的,所以修改也要用dfs序修改 L[i]是唯一的。 #incl
阅读全文
摘要:给定一颗树,每个节点都有忠诚和能力两个参数,随意指定一个节点,要求在它的子树中找一个节点代替它,这个节点要满足能力值大于它,而且是忠诚度最高的那个。 首先,dfs一下,处理出L[i], R[i]表示dfs序,则R[i] - L[i] + 1 就是当前i这个节点拥有的子孙个数。 对于一颗树,dfs的时
阅读全文