继续html
传送门ui
不会spa
首先能够转化为每一个点的代价是子树里全部代价之和,价值是子树的节点个数,$1$号点能够选任意个,其余点最多选$d$个,求最大价值code
先考虑一个贪心,记$w_i$为代价,$v_i$为价值,先把全部点按$w_i\over v_i$降序排序,而后从前日后贪心选。这样贪心确定是错的,不过咱们发现,因为$v_i\leq 50$,若是存在某个$i<j$,且$i$还能选的次数大于等于$50$,$j$已经选的次数大于等于$50$,那么咱们可让$i$再选$v_j$次,让$j$选的次数减小$v_i$次,这样总的价值是不变的,可是代价减少了,因此必定不会存在这种状况htm
因此上面那种状况必定不存在了,咱们能够把每一个物品分红两部分,一部分最多只有$50$个,另外一部分就是减去前面那部分。前一部分的价值最大只有$O(n^3)$,那么咱们能够直接背包算出$f_i$表示价值为$i$时的最小代价,而后枚举在这一部分里的价值,剩下的就能够在另外一部分里贪心了blog
传送门排序
相似CF574D,跑个上下界最大流就好了,而后把选出来的全都设为较为便宜的那种颜色递归
传送门get
线段树分治,用可持久化并查集维护便可test
不会
首先把网格黑白染色,那么相同颜色的点互不影响,若是咱们令$m=1$,且白点的权值都已经肯定,那么黑点的权值能够设成它周围四个白点权值的$lcm +1$,对于白点的权值,咱们能够对于每一条主对角线和每一条副对角线各给一个素数,一个白点的权值就是所在主对角线和副对角线的权值之积,这样就好了
因为某些缘由,这题咕咕咕了
首先按模$\gcd$分类,不一样类之间互不影响,同一类里,咱们发现若是一个$A$类的人$i$在$t$时刻是开心的,那么它能够在$t+n$时刻令$(i+n)%m$的人开心,最终能够全都转化为只考虑初始开心的人了,而后至关于要跑个最短路,而这个最短路其实是一个大圆环,那么把环上全部关键点找出来就好了,每两个点之间的距离用逆元算一下就好了
太麻烦了不想写了
不会
考虑$D=d^2=x^2+y^2$,若是$D\equiv 1\pmod{2}$,那么$x,y$必定一奇一偶,咱们棋盘状黑白染色,若是$D\equiv 2\pmod{2}$,那么$x,y$都是奇数,咱们每隔按行的奇偶性染色,若是$D\equiv 0\pmod{2}$,咱们把$D$除以$4$而后递归,若是$D\equiv 3\pmod{2}$,这种状况不存在
对于$D_1$和$D_2$都这么来一次就好了,而后把全部没染色过的点输出,能够证实必定大于等于$n^2$
写过 这里
发现贪心是正确的,那么咱们转化成最少能分红多少条$01$相间的串,而后分类讨论一下就好了