04 2024 档案
摘要:这里不符合“不能行动的玩家判负”,所以就不要往SG函数想了 我们先模拟样例,会发现 是一个特别的数字,如果first player拿到了 那么肯定就输了 于是不难得出结论,如果 是一个完全平方数,那么first player就G了 那么考虑不是完全平方数,显然这里考虑gcd不
阅读全文
摘要:赛时用的贪心做法,具体见PDF吧(这种分类讨论的贪心要见识一下) 讲一下PDF的图论/DP做法 两者本质是一样的,就讲图论了 设图中的每个点(每个点代表一个已经拼接好的acronym)有三个参数 ,分别表示这个acronym的结尾是第 个单词的第 个字母,然后末尾
阅读全文
摘要:好题,介绍一下向上取整的整除分块 首先来看一下另一种做法吧 先看这篇文章 解释一下,再次需要操作的次数实际上就是还有多少个连续的正数的段,不难发现在攻击力为 的时候,像广搜一样操作 次后(指横着操作,而不是对着一个连续块一直操作),与操作一次攻击力为 的操作是等价的,所以有
阅读全文
摘要:先给出做法 m,cnt = 0,0 for n in a: if cnt == 0: m = n cnt = 1 elif n == m: cnt += 1 else: cnt -= 1 return m 讲一下正确性 我们将上述看成配对操作,对于cnt==0的这个if和n==m的这个if,我们认为
阅读全文
摘要:这道题目的模型倒是可以记住 我们发现这个配对很像摩尔投票,所以考虑原数列是否有主元素 对于一个集合,我们选出其中最大的 ,假设剩余的 的和小于等于 (此时有主元素),那么比较显而易见的就是最终会分出 个组;否则的话,我们考虑下界\(\lceil \frac
阅读全文
摘要:通过这道题目来学习一下离散化二维前缀和思想 这里最多 头牛,涉及的 和 最多各为 个,于是离散化之后最多形成一个 的矩阵,完全可以二维前缀和 来看一下代码细节,代码只离散化了 ,没有离散化 ,简化了代码复
阅读全文
摘要:这个模型太经典了就不说了,但是提一下一个扩展 如果题目给的这 个货仓是动态给的,同时动态询问中位数以及距离和,怎么做? 这个时候就要用对顶堆,可以用两个变量记录两个堆里元素总和,用小根堆总和-中位数∗小根堆大小+中位数∗大根堆大小-大根堆总和即为货仓选址总距离,时间复杂度为
阅读全文
摘要:转化成差分之后,对于差分数组,任意 , 中正数的和一定不会小于负数的和的绝对值(因为 ),所以答案的下界是正数的和 我们来证明一定存在一种方案达到下界 用数学归纳法。设差分数组为 显然 ;也有 (假设\(d_2
阅读全文
摘要:来严格证明一下 就是证明每一次操作中,中间的牛一定至少有一头牛的身高与两端相等,所以每次都要进行操作 假设这次操作是说 和 可以互相看见,那么我们准备将 的身高减一 从最开始, 的身高都是相同的。在这次操作之前,由于是不会出现矛盾的,所以只有四
阅读全文
摘要:证明一下反悔贪心正确性 假设我们当前考虑的第 个物品,前面 个物品已经是满足题意的情况下尽量大的 个物品了 注意由于这是反悔贪心,所以别从全局的决策包容性的角度考虑,因为之前做出的选择可能根本不是全局最优解;我们应该考虑这种决策之后,对于前 个物品来说,一定是尽量
阅读全文
摘要:先考虑无解的情况,来看样例三,很容易发现是因为 太大了,所以每次都会修改之前已经改好的。于是我们猜想,如果任意一段连续的数的长度都小于 ,那么就无解,证明比较容易,反证就好了,如果存在一个解,那么这个解的最后一步操作,一定是连续的 个格子,而且这 个格子的颜色一定要一
阅读全文
摘要:这是QT代码必须包含的头文件 代码首先要创建一个程序对象,return也要这么写 这个头文件是创立弹出窗口中的标签的(也就是文本框) 使用的时候这么创建对象 这个头文件是创建行编辑框 仍然是这么创建对象用 这个头文件是创建按钮 仍然是这么创建对象用 这些对象都有一个成员函数setText,也就是输出
阅读全文
摘要:这里对做法补充一下 首先肯定有两个考虑对象嘛,考虑双端队列或者考虑数值,既然双端队列是不好考虑的(指正着想),那就考虑数值喽(反着想,最终的序列一定是确定的) 然后是一个证明,其实我自己的排序方法是一个数一个数看的,对于当前循环到的数,比如处于递减状态,我们考虑这个数所有的下标,把能接在后面的就接在
阅读全文