自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 poj 1636 Prison rearrangement

题目链接:http://poj.org/problem?id=1636题目大意及思路:两个监狱交换囚犯,但有些囚犯不能在同一个监狱,问最接近m/2的交换数,做法是先求连通分量和两个监狱分别的人数,没有关联的人则为(0,1)和(1,0);最后dp,求得最接近m/2的i 满足dp[i][i]=1。#include#include#include#include#include#inc

2012-03-30 22:34:00 1144

原创 poj 1635 Subway tree systems

题目链接:http://poj.org/problem?id=1635题目大意及思路:给两种树的遍历结果,判断它们是否是同一棵树,网上都说是树的最小表示,就是说优先遍历深度大的子树,自己感觉还是理解得不是很清楚,我太水了。。做法就递归,得到子树的最小表示后,将各子树得到的序列排序即可。#include#include#include#include#include#include

2012-03-30 20:40:42 1281 3

原创 poj 1633 Gladiators

题目链接:http://poj.org/problem?id=1633题目思路:用dp[i][j]记录有i个障碍,难度为j的方法数,它是从长度为i-1的情况加一个更高的障碍得到,由于只有高的才能放到低的两个平台之间,所以这时最高的还没有分开,对于前面的i-1个障碍相当于2*(i-1)个平台,由于最高只能插到相临两个平台之间,又由于插到递增平台之间难度不变,其余情况难度增加1,易得方程。im

2012-03-30 16:42:02 935

原创 poj 1513 Scheduling Lectures

题目链接:http://poj.org/problem?id=1513题目大意及思路:求将n个topic,分配到lecture中,使lecture数尽量小,然后使不满意度最小,先贪心求得最少lecture数,再dp,dp前先预处理出每一段的界,这样可以大大缩短时间。我的从500ms优化到16ms.#include#include#include#include#include#i

2012-03-29 17:12:06 836

原创 poj 1505 Copying Books

题目链接:http://poj.org/problem?id=1505题目大意及思路:m个抄写员抄写n篇文章,使工作量最大的尽量小,且输出最小字典序。有两种方法可以做,dp和二分答案,二分答案较快。dp:#include#include#include#include#include#include#include#include#include#include#i

2012-03-29 13:42:42 679

原创 poj 1475 Pushing Boxes

题目链接:http://poj.org/problem?id=1475题目大意及思路:我用的普通的优先队列bfs效率比较低,主要是有很多冗余状态,据说可以双重bfs,因为推的次数最少是主要目标,所以可以作为外层bfs,walk则作为内层bfs.#include#include#include#include#include#include#include#include#i

2012-03-28 21:04:59 767

原创 poj 1432 Decoding Morse Sequences

题目链接:http://poj.org/problem?id=1432题目大意及思路:计算一段文摩斯码可能的译文种数,定义dp[i]为前i个摩斯码的种数,然后枚举最后一个单词的摩斯码长度,将所有可能加起来;要注意的是有些单词的摩斯码相同。#include#include#include#include#include#include#include#include#incl

2012-03-28 15:58:02 1123

原创 poj 1414 Life Line

#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define inf 0x3f3f3f3f#define Max 110int max(int a,int b){ return a>b?a:b;}

2012-03-28 13:57:54 570

原创 poj 1390 Blocks

题目链接:http://poj.org/problem?id=1390题目大意及思路:见黑书123页,很巧妙的一个dp,定义dp[i][j][k]为从第i到第j段方块且在最后加上k个与第j段方块颜色相同的方块的最大得分。其中k是为了dp而人为加上的东西,从而得到问题的解。#include#include#include#include#include#include#inclu

2012-03-28 11:24:39 495

原创 poj 1323 Game Prediction

题目链接:http://poj.org/problem?id=1323题目大意及思路:先将手上的牌排序,然后从小到大扫描,如果存在比当前数大且未标记的数,则输的轮数++。#include#include#include#include#include#include#include#include#include#include#includeusing namesp

2012-03-27 21:14:57 477

原创 poj 1293 Duty Free Shop

题目链接:http://poj.org/problem?id=1293题目大意:01背包,水题。#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define inf 0x3f3f3f3f#defi

2012-03-26 21:38:16 655

原创 poj 1240 Pre-Post-erous!

题目链接:http://poj.org/problem?id=1240题目大意:给定一棵K叉树的先序遍历和后序遍历,问有多少种这样的树。因为字符串的每个字符都是不同的,所以可以确定一个根节点下有几个儿子和每棵子树所在的区间。用递归实现即可。#include#include#includeusing namespace std;int c[22][22];int m;

2012-03-26 14:39:12 864

原创 poj 1239 Increasing Sequences

题目链接:http://poj.org/problem?id=1239题目大意:求使最后一个数最大且前面的数尽量大的加逗号方式,两次dp,先从前到后求得最后一个数,然后反向dp,求出满足条件且当前数最大的方案。需要注意的是最后一段可加0.#include#include#include#include#include#include#include#include#incl

2012-03-25 21:49:58 844

原创 poj 1192 最优连通子集

题目链接:http://poj.org/problem?id=1192题目大意:求一棵树的最大权连通子集,开始做树形dp的时候错误的认为整棵子树都要加进去,后来才发现错误。#include#include#include#include#include#include#include#include#include#include#includeusing names

2012-03-24 22:39:42 652

原创 poj 1191 棋盘分割

题目链接:http://poj.org/problem?id=1191题目大意:见黑书116页。#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define inf 0x3f3f3

2012-03-24 20:07:38 504

原创 poj 1187 陨石的秘密

题目链接:http://poj.org/problem?id=1187题目大意:求出指定要求的字符串的种数,用dp[a][b][c][d]记录有a个{},b个[],c个()深度为d的字符串的个数,然后枚举左边一段外层加括号的状态,与右边对应状态相乘即可。#include#include#include#include#include#include#include#inclu

2012-03-24 13:43:20 1060 1

原创 poj 1185 炮兵阵地

题目链接:http://poj.org/problem?id=1185题目大意,在保证不互相攻击的条件下放炮兵,开始题意理解有误,写了很久都没有写出来,这是一个比较好的状态压缩dp,先将一行的所有可能状态搜出来,再枚举所有可能状态逐行dp,这个题要枚举前两行状态,当然也可以用3进制。#include#include#include#include#include#include

2012-03-24 10:13:08 404

原创 poj 1180 Batch Scheduling

题目链接:http://poj.org/problem?id=1180题目大意:见黑书153页,哎,因为一个细节wrong了很久,我太水了#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define

2012-03-23 16:49:45 425

原创 poj 1170 Shopping Offers

题目链接:http://poj.org/problem?id=1170题目大意:完全背包。#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define inf 0x3f3f3f3f#define

2012-03-22 22:21:30 414

原创 poj 1141 Brackets Sequence

题目链接:http://poj.org/problem?id=1141题目大意:不解释。我的代码比较慢,主要是每次都合并字符串,也可以记录分割位置,最后确定输出。#include#include#include#include#include#include#include#include#include#include#includeusing namespace

2012-03-22 15:40:04 365

原创 poj 1112 Team Them Up!

题目链接:http://poj.org/problem?id=1112题目大意:把n个人分成两组;组内成员相互之间必须认识。做法是如果两个人不是相互都认识则建边,用dfs搜出连通分量,然后dp,具体见其他人的博客。#include#include#include#include#include#include#include#include#include#include

2012-03-21 21:40:17 630

原创 poj 1093 Formatting Text

题目链接:http://poj.org/problem?id=1093题目大意:将一段文字重新排版,每行有n个字符,问最优方案,从后往前dp,令dp[i]为以第i个单词开始到结束的最小badness,并用p[i]记录以i开始的这一行的结束的单词,然后从前往后输出,则能保证空格排列的字典序最小。#include#include#include#include#include#inc

2012-03-21 15:18:35 1064

原创 poj 1074 Parallel Expectations

题目链接:http://poj.org/problem?id=1074题目大意,求两个程序并行运行各个变量的期望值,都说黑书上讲的有问题,那应该就有问题吧。解法:这里copy一下大牛的:设状态 T[ i ][ j ] 为程序1执行i条指令,程序2执行j条指令后的变量平均值,P1为当前状态发生且最后执行程序1指令i的概率,P2为当前状态发生且执行程序2指令j的概率  则可以推出,T[

2012-03-21 10:18:47 1847

原创 poj 1062 昂贵的聘礼

题目链接:http://poj.org/problem?id=1062这个题是一个简单的树形dp,只是有一个地位差限制,可以枚举可行区间,在可行区间里进行dp.#include#include#include#include#include#include#include#include#include#include#includeusing namespace s

2012-03-18 17:33:16 424

原创 poj 1038 Bugs Integrated, Inc.

题目链接:http://poj.org/problem?id=1038题目解析黑书139,很好的题。#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define inf 0x3f3f3f3f#

2012-03-18 15:28:13 526

原创 hdu 2859 Phalanx

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2859题目坑爹啊!原来以为要O(n^2)才能过,没想到是n^3的复杂度,10^9方的题都可以出,太没天理了。。。#include#include#include#include#include#include#include#include#include#include#i

2012-03-16 19:29:20 574

原创 hdu 2861 Stools

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2861题意就是n个板凳有m个人坐,求刚好将序列分成k段的方式,用dp[i][j][k][0]和dp[i][j][k][1]记录最后一根板凳没有人和有人的方法数依次递推。开始看到这道题的时候以为要推组合学公式,后来听学长讲才知道只是一个递推而已,所以以后一定要多注意数据范围,以免偏离思考方向。#i

2012-03-16 16:16:00 531

原创 poj 1037 A decorative fence

题目链接:http://poj.org/problem?id=1037这道题的解析见黑书257页,后面的答案搜索花了我不少时间,后来想到了从后向前还原的方法,还是相当不错的。#include#include#include#include#include#include#include#include#include#include#includeusing na

2012-03-16 13:15:49 531

原创 hdu 2858 Oil on the Mars

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2858     这个题目意思开始一直没理解清楚,后来看了一个大牛的代码才理解到,其实就是选一个有k个方格的区域,区域的轮廓线没有凹陷,我们可以一行一行的处理,易知每行必须是连续区域(不然会出现凹陷),然后用dp[k][l][j][nl][nr][level][row]记录最后一行的行号为row,还要

2012-03-15 21:59:22 840

原创 poj 1036 Gangsters

题目链接:http://poj.org/problem?id=1036      这道题是用dp[i]记录第i个强盗成功进入的最优值。#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std

2012-03-14 12:54:34 455

原创 poj 1029 False coin

题目链接:http://poj.org/problem?id=1029      明明是一道标记题,为啥被归到dp里去了,真是无解啊!#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define i

2012-03-13 19:31:21 439

原创 poj 1015 Jury Compromise

题目链接:http://poj.org/problem?id=1015      这道题是一个三维dp,用dp[i][j][k]记录前i个人中选j个人,辨控差是k的最大辩控和。网上还一种二维的方法,但正确性不好证明,而且复杂度是一样的,所以还是觉得这个方法好些。#include#include#include#include#include#include#include

2012-03-12 20:58:54 525

原创 poj 2018 Best Cow Fences

题目链接:http://poj.org/problem?id=2018这道题参考了周源的论文:    最后一个问题就是如何求过pt点,且与折线相切的直线了。一种直接的方法就是二分,每次查找的复杂度是O(log2N)。但是从图形的性质上很容易得到另一种更简便更迅速的方法:由于折线上过每一个点切线的斜率都是一定的3,而且根据下凸函数斜率的单调性,如果在检查点Pt 时找到了折线上的已知一个切点A

2012-03-07 09:46:56 570

原创 hdu 3874 Necklace

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3874      这道题目以前做过,再做的时候却忘了,可能当时也不完全是自己想出来的,印象不深,这里用到了离线算法,先将询问排序,然后用树状树组进行操作,如果一个价值没有出现过,则将其位置加上相应价值,如果出现过,则在当前位置加上该价值,而在已经出现过该价值的位置删除该价值,相当于一个移位操作,保证

2012-03-07 09:35:25 594

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除