摘要:
题目链接:luogu P1220 关路灯 题目大意: 题解: 一道区间DP题。 $dp[i][j]$表示第$i$盏路灯到第$j$盏路灯都关掉后,剩下路灯都开着的情况下消耗的最小电能。 由于可以掉头走或者继续走下去,所以增加一维,$dp[i][j][0]$表示关完这一段的路灯后留在第$i$盏路灯,$d 阅读全文
摘要:
题目链接:luogu P1387 最大正方形 题目大意: 题解: $dp[i][j]\(表示以点\)(i,j)\(为右下角,可构成的最大正方形的边长。只有点\)(i,j)$为$1$时,才能作为正方形的右下角。 若$dp[i][j]=x$,表示从点$(i,j)$向上、向左$x$范围内的全部点都是$1$ 阅读全文
摘要:
题目链接:luogu P1020 导弹拦截 题目大意: 题解: 寻找一个最长上升序列和一个最长不上升序列,通过二分的方法寻找替换的位置。 #include <algorithm> #include <iostream> using namespace std; #define N 100010 in 阅读全文
摘要:
题目链接:luogu P1586 四方定理 题目大意: 题解: 类似于完全背包,$dp[i][j]$代表$i$用$j$个平方数所可以组成的方案数,这样对于一个$n$,只要输出$dp[n][1\dots4]$的和就行了。 状态转移方程:\(dp[i][j]+=dp[i−k∗k][j−1]\) #inc 阅读全文