摘要:
我的第二道斜率DP。收获: 1、假设两个位置:p)的方向就会因为f的大小关系而变化,就没有凸的性质了。 2、斜率优化很难调试,所以当发现暴力DP和同样的方程被斜率优化了一下的答案不同时,不要去调试,直接去检查上面的各个函数是否写错或抄到代码中抄错了, 或者重推一遍。(注意决策点是否可能会重... 阅读全文
摘要:
我的第一道斜率优化。就这道题而言,写出原始的方程: dp[i] = min{ dp[j] + (sum[i]-sum[j])2 + M | j in [0,i) }O(n^2)的复杂度肯定超时,要么优化转移,要么重写方程。斜率优化的思想就是减少不必要的枚举(即不枚举肯定不会成为决策点的j)。我们考... 阅读全文
摘要:
原来的DP:dp[i][j]表示长度为i的合法串,并且它的长度为j的后缀是给定串的长度为j的前缀。转移:i==0dp[0][0] = 1 dp[0][1~m-1] = 0i>=1dp[i][0] = dp[i-1][0]*10-dp[i-1][m-1]dp[i][1] = dp[i-1][0]-(a... 阅读全文
摘要:
正难则反前面定后面就定->枚举开头 1 /************************************************************** 2 Problem: 1008 3 User: idy002 4 Language: C++ 5 R... 阅读全文
摘要:
本题就是求半交平面的交包含哪些直线,而且有点特殊(一般的半交平面用双端队列,因为可能转到最开始的直线,但本题不会,所以只需要一端操作就行了)。 1 /************************************************************** 2 Proble... 阅读全文