图论+dp poj 1112 Team Them Up!】的更多相关文章

题目链接: http://poj.org/problem?id=1112 题目大意: 有编号为1~n的n个人,给出每个人认识的人的编号,注意A认识B,B不一定认识A,让你将所有的人分成两组,要求每组的人相互认识,且两组的人数要尽可能的接近. 求出每组的人的编号. 解题思路: 图论+背包(输出物品). 相互认识的关系不好确定分组,如果转换思路,考虑相互不认识的情况就简单好多,如果A不认识B,且B不认识C,那么A和C必须分到同一组里.所以就想到了,连通分量的染色,相邻的两个染不同的颜色(0或1),每…
题目链接: http://poj.org/problem?id=1112 Team Them Up! Time Limit: 1000MSMemory Limit: 10000K 问题描述 Your task is to divide a number of persons into two teams, in such a way, that: everyone belongs to one of the teams; every team has at least one member; e…
Team Queue Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 2977   Accepted: 1092 Description Queues and Priority Queues are data structures which are known to most computer scientists. The Team Queue, however, is not so well known, thoug…
Description Your task is to divide a number of persons into two teams, in such a way, that: everyone belongs to one of the teams; every team has at least one member; every person in the team knows every other person in his team; teams are as close in…
题目传送门 /* 状态压缩DP:先处理硬性条件即不能种植的,然后处理左右不相邻的, 接着就是相邻两行查询所有可行的种数并累加 写错一个地方差错N久:) 详细解释:http://www.tuicool.com/articles/JVzMVj */ #include <cstdio> #include <iostream> #include <algorithm> #include <cmath> #include <cstring> #includ…
题目传送门 /* 题意:一个h*w的矩阵(1<=h,w<=11),只能放1*2的模块,问完全覆盖的不同放发有多少种? 状态压缩DP第一道:dp[i][j] 代表第i行的j状态下的种数(状态即为二进制10101110101...的样子) 横着的定义为11,竖着的定义为01,当两行的状态已填满并且没有出现奇数个1时,累加个数 即两行状态相或要全为1,两行相与要没有连续的1的个数是奇数个 */ #include <cstdio> #include <iostream> #in…
题目链接: http://poj.org/problem?id=1080 题目大意: 给两个由A.C.T.G四个字符组成的字符串,可以在两串中加入-,使得两串长度相等. 每两个字符匹配时都有个值,求怎样安排使得总的值最大,两个-不能匹配. 解题思路: 这题转化一下就是一个裸的最长公共子串问题,只不过要求匹配时长度一样. dp[i][j]表示第一串的第前i个字符和第二串的前j个字符匹配时,能达到的最大值. 初始化时注意dp[0][j]和dp[j][0]不能为零,为相应字符与-匹配时的总和. 代码:…
题目链接:http://poj.org/problem?id=2259 Queues and Priority Queues are data structures which are known to most computer scientists. The Team Queue, however, is not so well known, though it occurs often in everyday life. At lunch time the queue in front o…
正解:图论(最短路)+dp(记忆化搜索) 解题报告: 这题真的是个好东西! 做了这题我才发现我的dij一直是错的...但是我以前用dij做的题居然都A了?什么玄学事件啊...我哭了TT 不过其实感觉还挺幸运的,好歹是考前发现?不然考完才知道就GG了... 先正儿八经讲完解法再吐槽自己... 先dij跑一遍最短路 然后再走一遍,我们可以跑到d+k相当于我们可以浪费k 然后dp[i][j]表示跑到第i个点了还可以浪费j的方案数 最后Σdp[n][1~k]就欧克辽... 就是个记忆化搜索 对了了解到好…
题目来源:http://poj.org/problem?id=3186 (http://www.fjutacm.com/Problem.jsp?pid=1389) /** 题目意思: 约翰经常给产奶量高的奶牛发特殊津贴,于是很快奶牛们拥有了大笔不知该怎么花的钱. 为此,约翰购置了N(1≤N≤2000)份美味的零食来卖给奶牛们.每天约翰售出一份零食. 当然约翰希望这些零食全部售出后能得到最大的收益.这些零食有以下这些有趣的特性: 零食按照1..N编号,它们被排成一列放在一个很长的盒子里.盒子的两端…