题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1586 题解:dp[i][j][k]表示长度为i,最高位为j,次高位为k的合法方案数,转移方程为当j*100+k*10+l为质数时dp[i][j][k]+=dp[i-1][k][l]; ...
分类:
其他好文 时间:
2018-02-04 14:43:51
阅读次数:
165
URAL 1427 思路: 贪心。 很水的一道贪心,找bug找了很久,没有考虑到n=1的情况。 代码: ...
分类:
其他好文 时间:
2018-02-02 21:59:40
阅读次数:
172
URAL 1513 思路: dp+高精度 状态:dp[i][j]表示长度为i末尾连续j个L的方案数 初始状态:dp[0][0]=1 状态转移:dp[i][j]=dp[i-1][j-1](0<=j<=k) dp[i][0]=∑dp[i-1][j](0<=j<=k) 目标状态:dp[n+1][0] 观察 ...
分类:
其他好文 时间:
2018-01-31 22:06:41
阅读次数:
125
URAL 1501 思路: dp+记忆化搜索 状态:dp[i][j]表示选取第一堆前i个和第二堆前j的状态:0:0多1个 1:0和1相等 2:1多一个 -2:不能达到题目所描述的状态 初始状态:dp[0][0]=1 状态转移:见代码 代码: ...
分类:
其他好文 时间:
2018-01-31 14:42:42
阅读次数:
164
URAL 1039 思路: 树形dp 状态:dp[i][0]表示以i为根节点的子树不选取i的最大贡献 dp[i][1]表示以i为根节点的子树选取i的最大贡献 初始状态:dp[i][0]=0(if i is a leaf) dp[i][1]=a[i](if i is a leaf) 状态转移: dp[ ...
分类:
其他好文 时间:
2018-01-31 11:30:54
阅读次数:
161
URAL 1029 思路: dp+记录路径 状态:dp[i][j]表示到(i,j)这个位置为止的最少花费 初始状态:dp[1][i]=a[1][i](1<=i<=m) 状态转移:dp[i][j]=a[i][j]+max(dp[i-1][j],dp[i][j-1],dp[i][j+1])(注意扫的方向 ...
分类:
其他好文 时间:
2018-01-31 11:30:37
阅读次数:
114
URAL 1078 思路: dp+记忆化搜索 状态:dp[i]表示第i个线段最多包含多少个线段(包括自身) 状态转移:dp[i]=max(dp[i],1+dp[j])线段j包含于i 记录路径,递归输出路径 代码: ...
分类:
其他好文 时间:
2018-01-31 00:49:55
阅读次数:
192
URAL 1495 思路: 折半枚举+高精度技巧。 先dfs枚举出小于等于15位的情况。 dp[i]表示余数为i的最小的数。 _dp[i]表示余数为i正好15的数。 然后枚举余数i,把它乘以1e15再模n后得到t,然后找_dp[n-t] 代码: ...
分类:
其他好文 时间:
2018-01-29 20:22:48
阅读次数:
269
URAL 1244 思路:dp,有点类似背包,不过不需要求最大价值,只要求方案数就可以了。 状态:dp[i]表示和为i的方案数 初始状态:dp[0]=1 状态转移:dp[i]=∑dp[i-a[k]] (1<=k<=n) 用一个pre[]数组来记录路径 代码: ...
分类:
其他好文 时间:
2018-01-29 18:19:27
阅读次数:
121
URAL 1183 思路:区间dp,打印路径,详见http://www.cnblogs.com/widsom/p/8321670.html 代码: ...
分类:
其他好文 时间:
2018-01-29 15:37:09
阅读次数:
147