题目链接:uva 10497 - Sweet Child Makes Trouble
题目大意:有个小屁孩很淘气,总是趁父母不在家的时候去拿家具玩,每次拿n个家具玩,但是放回去的时候一定不会将某个物品放回原处,一定要打乱。问说有多少放的方式满足。
解题思路:dp[i]表示说i个数打乱的情况,dp[i]=(dp[i?1]+dp[i?2])?(i?1)每次新增一个数,放在序列的最后一个位置...
分类:
其他好文 时间:
2014-05-26 04:53:50
阅读次数:
255
题目链接:uva 1350 - Pinary
题目大意:给出n,输出第n给Pinary Number,Pinary Number为二进制数,并且没有连续两个1相连。
解题思路:dp[i]表示到第i位有dp[i]种,于是给定n,一层循环判断dp[i]≤n的话,就输出1,并且n减掉dp[i],注意输出0的时候,不能输出前导0.
#include
#include
typedef l...
分类:
其他好文 时间:
2014-05-26 04:38:12
阅读次数:
212
题目链接:uva 580 - Critical Mass
题目大意:给定一个栈,向栈里连续添加n次,每次可以添加U或者L,如果出现连续三个U则为不安全,问有多少种不安全的可能。
解题思路:先求出安全的,用总数减去安全的即为答案。
dp[i][j]表示以第i个位置结尾时,有末尾有j个连续的U。
还有一种解法,dp[i]表示第i个位置以L结尾的总数,dp[i] = dp[i-1] +...
分类:
其他好文 时间:
2014-05-26 03:24:49
阅读次数:
207
题意:给定两个数G,T,求a,b使gcd(a,b)=G,lcm(a,b)=T;解题思路:1.T%G==0,否则无解。
2.输出a=gcd(a,b)=G,b=lcm(a,b)=T; 1 //Accepted 0 KB 16 ms 2 #include 3 #inclu...
分类:
其他好文 时间:
2014-05-26 02:47:24
阅读次数:
208
解题思路:求乘法逆元就好了。 1 //Accepted 228 KB 0 ms 2 #include
3 #include 4 const int pp = 9973; 5 int extend_euclid(int a,int b,int &x,int
&y) 6 { 7 ...
分类:
其他好文 时间:
2014-05-26 02:17:41
阅读次数:
210
题目大意:给你一个2*N的矩形。
让你用2*1或者2*2的小矩形去拼成2*N的矩形。问你有多少种拼法。解题思路:类似于简单的骨牌铺路。N长度的矩形,可以由
前(N-1)种+最后一个放竖着的2*1小矩形 和 前(N-2)种+最后两位横着放两位2*1的小矩形 和 前(N-2)种+最后两位放一个两位2*2...
分类:
其他好文 时间:
2014-05-25 23:26:40
阅读次数:
386
题目链接:hdu 3269 Convex
题目大意:给出n个点,问任选四个点可以组成多少个凸四边形。
解题思路:和uav11529的做法是一样的,只不过求的东西不一样。
#include
#include
#include
#include
#include
using namespace std;
typedef long long ll;
const int N =...
分类:
其他好文 时间:
2014-05-25 18:38:17
阅读次数:
155
POJ 1018 Communication System (动态规划)
题目大意:
有T组测试数据,每组1个n,表示n行,接下来n行,每行一个m,表示有m个管道,每个管道有流量和费用,最后求从n行中,每行选择1个管道,要求 B/P最大 ,B表示所选的那个方案中n个管道的最小的那个的流量,P表示n个管道费用和。
解题思路:
朴素的动态规划,dp[i]记录,当前B为i的P,也就是流量的最小费用和。实现可以利用队列代替滚动数组。...
分类:
其他好文 时间:
2014-05-25 06:58:58
阅读次数:
214
题目连接:uva 417 - Word Index
题目大意:按照题目中的要求,为字符串编号,现在给出字符串,问说编号为多少,注意字符串必须为递增的,否则编号为0。
解题思路:其实就是算说比给定字符串小并且满足递增的串由多少个。dp[i][j]表示第i个位为j满足比给定字符串小并且满足递增的串。
dp[i][j]=∑k=0j?1dp[i?1][k].
注意每次要处理边界的情况,并且...
分类:
其他好文 时间:
2014-05-24 22:59:44
阅读次数:
304
题目链接:uva 10312 - Expression Bracketing
题目大意:给出一个序列,长度为n,表示有n个x(节点),可以添加任意括号,问说形成的串为非二叉表达式的有多少个。
解题思路:直接求非二叉表达式是比较困难,所以换求总数减去二叉表达式的数量。二叉表达式的很容易发现是Catalan数,而总数时一种叫SuperCatalan数的一种序列,第一次接触。或者可以用dp做...
分类:
其他好文 时间:
2014-05-24 19:23:26
阅读次数:
309