摘要:题目链接:Dividing a String题意:给定一个2*n(n#include #include #include #include #include #include #define LL long longusing namespace std;const int inf = 0x3f3f...
阅读全文
摘要:传送门:BestCoder Sequence题意:给一个序列,里面是1~N的排列,给出m,问以m为中位数的奇数长度的序列个数。分析:先找出m的位置,再记录左边比m大的状态,记录右边比m大的状态,使得左右两边状态平衡(和为0)就是满足的序列。举例:7 41 5 4 2 6 3 7ans=8m的位置po...
阅读全文
摘要:题目连接:http://www.codechef.com/problems/ANUMLA题意:给一个序列所有子集和(2^n个子集),复原这个序列。。。如:0 1 1 2 2 3 3 4原序列为1 1 2分析:每次找出最小的那个元素,再删除掉可能由该元素相加得到的元素,如上面那个例子,将所有可能相加得...
阅读全文
摘要:题目链接:http://poj.org/problem?id=2378题意:给一个树状图,有n个点。求出,去掉哪个点,使得剩下的每个连通子图中点的数量不超过n/2。分析:num[u]表示以u为根节点的子树的总节点树,判断下与u连接的儿子v代表的子树总节点num[v]和u的父亲代表的子树总节点n-nu...
阅读全文
摘要:题目链接:http://poj.org/problem?id=1849题意:有一颗n个结点的带权的无向树, 在s结点放两个机器人, 这两个机器人会把树的每条边都走一遍, 但是最后机器人不要求回到出发点. 问你两个机器人走的路总长之和的最小值是多少?分析:如果从某点出发遍历完一棵树再回来,那么所有边都...
阅读全文
摘要:题目链接:http://poj.org/problem?id=3140题意:给定一棵n棵节点的树,求删去某条边后两个分支的最小差异值。分析:num[u]表示以u点为根节点的子树的总人数,那么不在该子树的人数和为sum-num[u].dfs遍历一遍即可。#include #include #inclu...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2712题意:是求最短的非子串(子串不要求连续)的长度。分析:把序列划分为尽量多(假设为ans)的含有1~k的连续子序列,则答案就是ans+1.因为要让长度为ans的序列全部出现,必须满足第一个数字可以取1...
阅读全文