摘要:
给定一些字符集,将字符集中的字符从字符串中删除或增加需要一些代价,问构造一个回文串的最小代价。 因为删除与增加本质是相同的,所以只保存代价最小的然后进行字符的删除。 考虑区间转移,然后存下所有区间的最小状态即可。 #include <cstdio> #include <cstring> #inclu 阅读全文
posted @ 2018-09-10 22:07
LMissher
阅读(102)
评论(0)
推荐(0)
摘要:
水题,照着给的式子记忆化搜索即可。 #include <iostream> #include <cstdio> #include <cstring> #include <cmath> using namespace std; typedef long long ll; int i,j,k; ll d 阅读全文
posted @ 2018-09-10 17:39
LMissher
阅读(138)
评论(0)
推荐(0)
摘要:
给一个数,两个人轮流把这个切成k段并把k段加和给下一个人切,谁先无法切谁就失败。 dfs+博弈 具体看代码注释 #include <bits/stdc++.h> #define pb push_back #define mp make_pair #define x first #define y s 阅读全文
posted @ 2018-09-10 16:23
LMissher
阅读(179)
评论(0)
推荐(0)
摘要:
有三种操作,第一种把+v,第二种-v,第三种*-1。现在先手的会让最后的值最大,后手的让最后的值最小。 所有操作后的值在区间[-100,100]内,问最后的值是多少。 因为所有的值只有200种可能性,所有每个操作之后最多可能也只有200种值。 那么记忆化搜索把每个操作之后的状态存下来就避免了暴力搜索 阅读全文
posted @ 2018-09-10 14:34
LMissher
阅读(172)
评论(0)
推荐(0)
摘要:
一只老鼠从(1,1)出发每次最远只能水平或竖直移动不超过k个曼哈顿距离,且能移动到下一个点的条件是下一个点的权值大于现在这个点。 记忆化搜索。搜索状态是(行,列),直接四个方向上的k种移动方式枚举然后取max保存就好。 #include <bits/stdc++.h> #define pb push 阅读全文
posted @ 2018-09-10 14:29
LMissher
阅读(92)
评论(0)
推荐(0)

浙公网安备 33010602011771号