摘要:
【Summarize】 1. 通常在状态较小的子集操作的时候要想到状态压缩 2. 如果最优问题输出方案难以在递推时求出时,可以考虑先求最优值,倒搜求解最优方案 3. 在子集计算问题中,在预处理出的可能合法子集中求解效率会大大提高 4. 在稀疏矩阵的乘法中,注意0的特判以减小运算量 POJ 2441: 阅读全文
摘要:
【题目链接】 http://poj.org/problem?id=3171 【题目大意】 给出一些区间和他们的价值,求覆盖一整条线段的最小代价 【题解】 我们发现对区间右端点排序后有dp[r]=min(dp[l-1~r-1])+s 而对于求最小值我们可以用线段树优化 【代码】 阅读全文
摘要:
【题目链接】 http://poj.org/problem?id=3735 【题目大意】 有一排小猫,给出一系列操作,包括给一只猫一颗花生, 让某只猫吃完所有的花生以及交换两只猫的花生, 求完成m次操作集合之后每只猫的花生数量 【题解】 创建一个1*(n+1)的初始矩阵, 对于给第i只猫一个花生就相 阅读全文
摘要:
【题目链接】 http://poj.org/problem?id=3420 【题目大意】 给出一个4*n的矩阵,求用1*2的骨牌填满有多少方案数 【题解】 弄出不同情况的继承关系,用矩阵递推即可。 【代码】 阅读全文
摘要:
【题目链接】 http://poj.org/problem?id=3411 【题目大意】 从a到b的路,如果已经访问过c那么路费为p否则为r,问从1到n的最短路 【题解】 搜索记录每个点在该回溯中被访问的次数, 因为这张图最多只有十个点,所以如果一个点被访问的次数超过3, 那么一定是重复走环路了,可 阅读全文
摘要:
【题目链接】 http://poj.org/problem?id=1795 【题目大意】 给出n个字符串,求一个最小长度的串,该串包含给出的所有字符串。 要求长度最小且字典序最小。 【题解】 dp[i][s]表示包括s集合字符串的第i个字符串为开头的最小值 从后往前贪心得到最小值,然后从前往后搜索得 阅读全文