摘要:
先定义二叉树: /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left( 阅读全文
摘要:
题目大意:一个队伍,每个人只记得前面比他高的人的个数x。现在将队伍散开,问能否构造出一支满足条件的队伍,如果能,再给每个人一个满足题意的身高。 题目分析:一个一个排,x越少越先排,如果x比已经排好的人数大,那么无解。否则,将这个人放到已经排好的队伍中的第x+1个位置上去,并赋予一个合适的身高,使得前 阅读全文
摘要:
题目大意:有n个已知半径的雪球。堆一个雪人需要三个尺寸不同的雪球,问用这些雪球最多能堆多少个雪人? 题目分析:先统计一下每种尺寸的球的个数,从三种最多的种类中各取出一个堆成雪人,这样贪心能保证的到的数目最多。 代码如下: # include<iostream> # include<map> # in 阅读全文
摘要:
题目大意:每一个01串中最多含有一个‘*’,‘*’既可表示0也可表示1,给出一些等长的这样的01串,问最少能用多少个这样的串表示出这些串。如:000、010、0*1表示000、010、001、011,最少只需用00*、01*这两个即可表示出来。题目分析:如果有两个串只有一个位置上的数字不同,就可以用... 阅读全文
摘要:
题目大意及分析:一道简单的最短路。。。好几天没写程序了,憋得难受!!!代码如下:# include# include# include# include# include# includeusing namespace std;const int INF=1q; for(int i=0;id[... 阅读全文
摘要:
题目大意:给一张n个点、m条边的无向图,求最小点割集的基数。题目分析:求无向图最小点割集的基数可以变成求最小割。考虑单源s单汇t的无向图,如果要求一个最小点集,使得去掉这个点集后图不再连通(连通分量数目增多),只需将每个点拆成两个(入点和出点),并且之间连一条容量为1的弧,其他弧不变,在新网络上求最... 阅读全文
摘要:
题目大意:单源单汇无向网络求最大流。题目分析:入门级别的题。但是ISAP在这儿好像不大好使?。。。代码如下:# include# include# include# include# include# includeusing namespace std;const int INF=1q; q... 阅读全文
摘要:
题目大意:长城(视作x正半轴)有n处破损。有一个智能修复机器人,它的初始位置和移动速度已知。每处破损处都有一组参数(x,c,d),x表示位置,c、d表示在时间t后再修复该处破损的花费为d*t+c。求用一个机器人修复所有破损的最小花费。题目分析:要想最终代价最低,就不能跳跃着修复,也就是经过一段时间后... 阅读全文
摘要:
题目大意:给一个棋盘,棋盘上每个格子中都有一个值,现在需要将棋盘切成n个矩形,总共切n-1刀,求最小的均方差。均方差定义为:,其中。题目分析:将均方差化简得到:均方差2=(Σxi2)/n-平均值2。显然,平均值2是定值,为数字总和除以n。只需让矩形的和的平方和最小即可。先预处理出数组s(x1,y1,... 阅读全文
摘要:
题目大意:有一块地,分成nxm块。有的块上长着草,有的块上是荒地。将任何一块长着草的块上的草拔掉都需要花费d个力气,往任何一块荒地上种上草都需要花费f个力气,在草和荒地之间架一个篱笆需要花费b个力气,如果一块草地四周都是荒地,则得花掉4b个力气。现在,要求最外一圈都种上草,草地与荒地之间要用篱笆隔开... 阅读全文