摘要:
题目的意思就是可以交换差分数组,对答案进行化简:n∑ai2−(∑ai)2 ,再通过手玩分析可得最优解的差分数组一定是单谷(可以感性理解一下),因此我们将差分数组排序,依次加入,每次可以选择加在左边或者右边,转移方程就可以写出来了。 为了将空间优化,可以用滚动数组。 1 #include <bit 阅读全文
posted @ 2022-07-25 16:53
YHXo
阅读(33)
评论(0)
推荐(0)
摘要:
(n<=30,是个多维的DP) v数组就是用来计算权值的,一共有m+1个。将S看做一个二进制数,按照题目S的定义,相当于在S的每一位可以随便+1(满足限制情况下),一共可以加n次。 我们来建立DP的维度,首先第一个i表示对二进制数处理到i位(从低位到高位),j表示使用了几个数(一共n个数可使用),为 阅读全文
posted @ 2022-07-25 11:59
YHXo
阅读(95)
评论(0)
推荐(0)
摘要:
树上的边差分,x++,y++,lca(x,y)-=2. m条边可以看做将树上的一部分边覆盖,就用差分,x=1,表示x与fa(x)之间的边被覆盖一次,m次处理后跑一遍dfs统计子树和,每个节点子树和val=1,说明割去这条边后只有一种方案,val=0,说明割去后随便再割一条都行,有m中方案。 题很简单 阅读全文
posted @ 2022-07-25 09:40
YHXo
阅读(65)
评论(0)
推荐(0)

浙公网安备 33010602011771号