2014年6月2日
摘要: 思路:动态规划,dp[i][j]表示i到j之间最少需要添加的字符的个数,path[i][j]记录i到j之间添加字符个数为dp[i][j]时的分割位置,path[i][j]初始化为-1,就表示i到j之间没有分割位置。状态转移方程:dp[i][j] = min(dp[i][j],dp[i][k-1]+d... 阅读全文
posted @ 2014-06-02 21:57 wangzhili 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 思路:状态压缩dp,如果在(i,j)位置横着放砖块,那么(i,j)和(i+1.j)都是1,如果竖着放砖块,那么(i,j)为0,(i,j+1)为1,这样每行就可以用一个整数来存放状态,设dp[i][j]为第i行为j状态时得摆放方案数,那么最终要求的结果就是dp[n][(1 #include #incl... 阅读全文
posted @ 2014-06-02 21:48 wangzhili 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 思路:把每根筷子的两个端点的字符串看成一个点,建图,问题即转化为判断图是否是含有欧拉通路,满足两个条件:(1)图是连通图,(2)奇数度的点个数要么是0,要么是2。无向图判断是否连通很简单,并查集直接搞就行,最后看是不是只有一个连通分量。建图时把每个字符串转化为一个整数,这样才好建图,第一反应是用ma... 阅读全文
posted @ 2014-06-02 21:20 wangzhili 阅读(112) 评论(0) 推荐(0) 编辑