
dp
ljyloi
OIer
展开
-
bzoj3530
题目链接:bzoj3530 题解: 这道题很容易可以想到数位dp,如何在保证限制下进行dp呢? 我们可以先将字符串建成ac自动机,这样,我们就可以在dp上加一维表示当前在ac自动机上的哪个点,我们只要dp转移时,不转移给那些不能走的点就可以了,我们用记忆化搜索来解决这个问题。只要在深搜时记录好已经确定的前缀在ac自动机上所走到的节点,我们只从合法状态转移过来就行了。dfs的边界原创 2016-02-17 13:57:36 · 459 阅读 · 0 评论 -
bzoj1831
题目链接:bzoj1831 题意: 给你一个长度为n的序列,序列内的数值范围为1到k,现在有一些空白,你可以随意填1到k的数,是这个序列的逆序对数最少。n<=10000,k<=100 题解: 当看到这个题的时候,第一反应是用dp来做,然而dp是有后效性的,当前最优的选择可能会影响后面的选择,所以一时觉得困难。要充分发掘题目中的性质,可以猜想填进去的数会有什么性质,比如填进去的数从左往原创 2016-02-17 13:39:37 · 450 阅读 · 0 评论 -
bzoj1925
题目链接:bzoj1925 题解: 这个做法貌似和网上的做法很不一样,看来是我智商太低了,代码比网上的做法要长一些。 这道题我想了比较久,最后想出了一个容易理解的做法。我们不妨设f[i][1/0]表示i个数构成波动数列,开头是上升/下降的方案数,我们可以通过枚举第i个数的位置,第i个数肯定是波峰,这是可以确定的,从而我们可以知道i前面的数列和后面的数列的形态,这样我们就可以计算原创 2016-02-17 14:07:21 · 500 阅读 · 0 评论