摘要: Topcoder #dp \(\mathcal{O}(n^2)\) 的 \(dp\) 是容易的 考虑怎么优化,注意到对于 \(x\) 这个位置,它能贡献到的区间是 \(log\) 的 因为每遇到一个 o ,合法的左端点都会从当前位置扩大到 \(2\) 倍,所以最多有 \(log\) 次扩大,即 \( 阅读全文
posted @ 2024-04-10 10:12 xiaruize 阅读(20) 评论(0) 推荐(0)
摘要: Topcoder #枚举 #dp 枚举回文的行,考虑 \(dp_{i,j}\) 表示前 \(i\) 列和后 \(i\) 列中有 \(j\) 列为回文的列的最小代价 转移要分讨 // Author: xiaruize const int INF = 0x3f3f3f3f3f3f3f3f; const 阅读全文
posted @ 2024-04-10 10:12 xiaruize 阅读(8) 评论(0) 推荐(0)
摘要: dp #数学 #Topcoder 设\(s_1=\sum a_i,s2=\sum b_i\),选中的集合为 \(s\),设 \(p=[x\in s](a_x+b_x)\) 那么这个时候的 \(maxdiff=max(|s_1-p|,|s_2-p|)\) \(dp\) 求可以到的 \(p\) ,暴力 阅读全文
posted @ 2024-04-10 10:12 xiaruize 阅读(10) 评论(0) 推荐(0)
摘要: dp #性质 一个集合 \(s\) 满足条件,当且仅当 \(\forall x\in s, mindep_x<min_{y\notin s}mindep_y\) 枚举后面的那个,\(dp_i\) 表示前面选择 \(i\) 个的方案数,转移看code // Author: xiaruize const 阅读全文
posted @ 2024-04-10 10:12 xiaruize 阅读(15) 评论(0) 推荐(0)