数位 dp trick
作者:互联网
考虑凸包,向量集合确定了就能确定唯一凸包。
考虑向量加法转化到最后就是 \(\sum_{x_i>0}c_ix_i=-\sum_{x_i<0}c_ix_i,\sum_{y_i>0}c_iy_i=-\sum_{y_i<0}c_iy_i,\sum_{x_i>0}c_ix_i\le m,\sum_{y_i>0}c_iy_i \le m\)
这里 trick 就是用数位 dp 的方式去解决 c 的方案。
先考虑在 10 进制下怎么做?
因为有进位,意味着我们要从低位到高位确定 \(c_i\),假如当前到了第 \(pos\) 位,那么从 \([0,9]\) 枚举,然后使得其符合条件(每一位都要满足当前位的 \(\sum_{x_i>0}c_ix_i=-\sum_{x_i<0}c_ix_i,\sum_{y_i>0}c_iy_i=-\sum_{y_i<0}c_iy_i\) ,做类似十进制下的加法运算(维护每一个 \(sum\) 的进位)即可。
更优地,即在二进制下做加法。
标签:iy,ix,le,i0,sum,trick,dp,数位 来源: https://www.cnblogs.com/xugangfan/p/16218224.html