摘要:
最小值最大,显然二分了。 check()函数判断当前相邻点距离为$mid$的情况下能选处多少个点,若选出的点的数量大于等于$m$则满足要求,可继续扩大左边界。 注意点 左边界取为$o$,因为存在所有数均相等的情况,此时的答案为$0$。 const int N=1e5+10; int a[N]; in 阅读全文
摘要:
完全背包。 对于$a_1x_1+a_2x_2+a_3x_3+\cdots+a_nx_n=c$ 如果$a_1,a_2,a_3,\cdots,a_n$互质,$x_1,x_2,x_3,\cdots,x_n$一定有解且有无穷多个。但此时导致方程无解的$c$的个数有限,也就是凑不出的包子数目有限。 如果$a_ 阅读全文
摘要:
朴素做法,$01$背包。时间复杂度:\(O(4nm)\)。 状态表示: \(f(i,j,k)\):从前$i$个数中选,总和模$K$的余数为$j$,且当前已选的数的个数为$k$个。 状态转移: \[ f(i,j,k)=\max(f(i-1,j-w[i],k-1)+w[i],f(i-1,j,k)) \] 阅读全文