2018年9月4日acm学习日志

中午开始刷题,从动规最基本的部分重新看起,刷了五道题(有四道过了,一道poj崩溃还没judge)(后来听学长建议在另一个oj上交过了)

1.poj - 1458 Common Subsequence

最长公共子序列(lcs)模板题

2.poj - 3903 Stock Exchange

最长上升子序列(lis)模板题

维护一个非栈非队列(其实是单调队列...)的序列T即可,T【i】表示到当前位置为止,长度为i的lis末尾最小的数

3.poj - 3624 Charm Bracelet

0/1背包模板题,注意即使不能使用当前物品的状态也要转移,当然也可以用从大到小遍历的方法回避问题

4.POJ - 1384 Piggy-Bank

完全(无限)背包模板题,没啥需要注意的

不过有两个方法:一是直接做,通过从小到大的遍历顺序实现同一物品的无限次使用,二是利用二进制转换成单个物品

5.POJ 1276 Cash Machine

多重背包模板题,即物品具有有限个数,此时仍可以利用二进制转换,但注意把个数进行转换时,要覆盖小于等于它的所有二进制数,而不是转换成二进制

6.

滑雪

 OpenJ_Bailian - 1088

记忆化搜索,注意INF不要恰好开到上限否则做加法时会溢出

还有初始化不要把Map[0][i]=Map[n+1][i]=INF;

                      写成Map[0][i]=Map[n+1][0]=INF;

...

猜你喜欢

转载自blog.csdn.net/konjacrz/article/details/82390702
今日推荐