04 2024 档案

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

点击右上角即可分享
微信分享提示