摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1100方法:首先根据输入的n判断出树里有多少个点m,然后设点数小于等于m的数的形态个数为x,则远问题转换成求n个点组成的树中排名第n-x的树的形态设buildTree(count,order)为建立count的点组成的树中排名order的树。核心就在该函数里。先设i是左子树的个数,0#include #include using namespace std;int catalan[18]={1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 阅读全文
posted @ 2013-08-05 19:09 kbyd 阅读(429) 评论(0) 推荐(0)
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1789方法:既然一个作业超期了,不管超期多久都只扣一次固定的学分。又因为每个作业只要一天,所以可以看出n个作业n天就可以做完,那些截至日期大于n天的就不用考虑了。只考虑截至日期在n天内的。可以这样考虑,设截至日期在n天内的作业如果全部按时完成的话得到的学分的和是sum,再设一个实际获得学分t_sum(初始0),然后一个作业按时完成 t_sum就加上学分,超期的就不管,然后把原来的问题转变为在截至日期在n天内的作业中安排一个顺序使得获得的学分之和t_sum最大,然后用sum-t_sum得到扣除的最少学 阅读全文
posted @ 2013-08-05 17:10 kbyd 阅读(225) 评论(0) 推荐(0)