Noip DP 总结 1

版权声明:本文为博主原创文章,未经博主允许你想转还是转吧总之我这点东西还有版权这说法吗呵呵呵呵…… https://blog.csdn.net/AVALON_X/article/details/78438311

对各位学NOI的大佬对于DP的总结的总结。


———-DP数据范围:———

1} 15,20        -> 状压/暴搜
2} 30       -> 折半搜索-二分搜索
3} 50       -> N^4 DP
4} 100~200         -> Floyed,图论等
5} 1000~2000   -> N^2 DP
6} 1e5      -> ……可能不是DP
7} 1e6      -> 贪心,分治
8} 1e10~1e12   -> 矩阵/快速幂

———DP如何思考:———

A}范围

    a} 8~20        状压   看地图,枚举
    b} 300~500     N^3   区间DP,dp[i][j]枚点
    c} 1000~5000   N^2   dp[i] || dp[i][j] 看题意

B}优化

a} 可以二分:最长不下降,树上倍增 
    b} 单调队列

———DP能解决的问题:———

A}以位置定义状态

    a} 最长不下降 O(N^2,N*logN)  --> dp[i]  &  贪心
    b} 最长公共子序列 O(N^2)   --> dp[i][j]
    c} 状压DP         --> dp[state]
    d} 线形DP --> 树形DP        --> dp[i]

B}以空间定义状态

    a} 背包问题 --> f[i][j]    -> 压缩状态不能为负 -> f[j-w[i]]+v[i].(01<-反向,完全<-正向)
    b} 弗洛伊德 --> f[k][i][j] -> f[i][k]+f[k][j];
    c} 字符串   --> f[n][k]    -> n:位置 k:取k段

——–DP注意事项:——–

  • 自己搞状态数量,如果需要暴搜(2^n,n^m,n!,C(n,m)),并尽可能地剪枝。

  • 注意DP的优化与降维

展开阅读全文

没有更多推荐了,返回首页