摘要: 这个模型太经典了就不说了,但是提一下一个扩展 如果题目给的这\(n\)个货仓是动态给的,同时动态询问中位数以及距离和,怎么做? 这个时候就要用对顶堆,可以用两个变量记录两个堆里元素总和,用小根堆总和-中位数∗小根堆大小+中位数∗大根堆大小-大根堆总和即为货仓选址总距离,时间复杂度为\(O(1)\) 阅读全文
posted @ 2024-04-14 20:59 最爱丁珰 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 转化成差分之后,差分数组里面正数的和一定不会小于负数的和的绝对值(因为\(h_i>0\)),所以答案的下界是正数的和 我们来证明一定存在一种方案达到下界 用数学归纳法。设差分数组为\(d\) 显然\(d_1≥0\);也有\(d_1+d_2≥0\)(假设\(d_2\)为负),也就是说,我们可以通过先操 阅读全文
posted @ 2024-04-14 19:17 最爱丁珰 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 来严格证明一下 就是证明每一次操作中,中间的牛一定至少有一头牛的身高与两端相等,所以每次都要进行操作 假设这次操作是说\(l\)和\(r\)可以互相看见,那么我们就要将\([l+1,r-1]\)的身高减一 从最开始,\([l,r]\)的身高都是相同的。在这次操作之前,由于是不会出现矛盾的,所以影响只 阅读全文
posted @ 2024-04-14 10:07 最爱丁珰 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 证明一下反悔贪心正确性 假设我们当前考虑的第\(i\)个物品,前面\(i-1\)个物品已经是满足题意的情况下尽量大的\(t\)个物品了 注意由于这是反悔贪心,所以别从全局的决策包容性的角度考虑,因为之前做出的选择可能根本不是全局最优解;我们应该考虑这种决策之后,对于前\(i\)个物品来说,一定是尽量 阅读全文
posted @ 2024-04-14 09:31 最爱丁珰 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 先考虑无解的情况,来看样例三,很容易发现是因为\(k\)太大了,所以每次都会修改之前已经改好的。于是我们猜想,如果任意一段连续的数的长度都小于\(k\),那么就无解,证明比较容易,反证就好了,如果存在一个解,那么这个解的最后一步操作,一定是连续的\(k\)个格子,而且这\(k\)个格子的颜色一定要一 阅读全文
posted @ 2024-04-14 09:17 最爱丁珰 阅读(4) 评论(0) 推荐(0) 编辑