07 2016 档案

摘要:题意:有n个物体,每个物体有m个特征,我心里想一个物品,你每次可以询问一个特征,然后我告诉你是否有这个特征,如果你采用最优策略,最少要询问几次才能保证猜到。 思路:要做的是鉴别出来我心里所想的那一个物品(0-1串),所以鉴别出来一个就可以了,而又不知道心里想的是哪一个,所以取需要询问次数最多的,取每 阅读全文
posted @ 2016-07-22 16:36 哲贤 阅读(304) 评论(0) 推荐(0)
摘要:题意:某校有s个课程m个教师和n个求职者,已知每人的工资和能教的课程,要求支付最少的工资使得每门课都至少有两名教师教学。在职教必须雇佣。 思路:d(i,s0,s1,s2)表示已经雇了i个人且授课状态为(s0,s1,s2),还需要多少钱。其中s0表示没有人授课的课程集合,s1表示只有一个人授课的课程集 阅读全文
posted @ 2016-07-21 18:11 哲贤 阅读(171) 评论(0) 推荐(0)
摘要:题意:在给定的时间和每首歌的时间下,求最多能唱几首歌,在最多首歌的情况下最多能唱多少时间。 思路:每首歌选或不选,0-1背包。 在满足歌的数量最多的情况下,比较时间,具体代码体现在,先比较歌曲数目,在歌曲数目相同的情况下,比较时间。 状态一定要倒序,同一个阶段的状态不能互相推导(一首歌不能加2次)。 阅读全文
posted @ 2016-07-21 10:46 哲贤 阅读(119) 评论(0) 推荐(0)
摘要:题意:输入一个简单m(2<m<50)边形,找到一个最大三角形最小的三角剖分(用不相交的对角线把一个多边形分成若干个三角形)。输出最大的三角形面积。 分析:每条对角线都是无序的,因此,给节点编号,从1到n-1,顺时针方向,这样多边形的顶点都是有序的了,这样就可划分区间,类似区间dp来做。 阅读全文
posted @ 2016-07-20 09:41 哲贤 阅读(279) 评论(0) 推荐(0)
摘要:题意:有n台机器形成树形结构。要求在其中一些机器上安装服务器,使得每台不是服务器的计算机恰好和一台服务器计算机相邻。求服务器最少的数量。 思路:所有机器分为3种: dp[u][0]:是服务器,故该节点的孩子任意。dp[u][0]=sum{min(dp[v][0],dp[v][1])} dp[u][1 阅读全文
posted @ 2016-07-19 16:48 哲贤 阅读(136) 评论(0) 推荐(0)
摘要:题意:公司里除了老板,每个人都有一个直属上司,要求选尽量多的人,但不能同时选一个人和他的直属上司,问最多能选多少个人,以及在人数最多的情况下方案是否唯一。 思路:d[u][0]表示不选u点能得到的最大人数d[u][0]=sum{max(d[v][0],d[v][1])} d[u][1]表示选u点能得 阅读全文
posted @ 2016-07-18 16:11 哲贤 阅读(194) 评论(0) 推荐(0)