首页 > 其他分享 >2023学校周赛Round1 Div1

2023学校周赛Round1 Div1

时间:2023-03-12 23:12:33浏览次数:46  
标签:周赛 所以 复杂度 矩阵 sqrt 随机化 随机 Div1 Round1

\(A\)
拿个栈模拟一下。

\(B\)
推一推式子,把\((\displaystyle\sum_{i=1}^{n}a_i)^3\)展开,会得到三种类型的式子,其中两个都是可以线性求出来的,第三个的6倍就是答案。

\(C\)
一个比较高妙的思维题,不太懂。

\(D\)
不懂,我觉得带\(log\)的肯定会超时,但是有一个高妙的数学方法不会超时。

\(E\)
矩阵乘法是\(O(n^3)\)的,肯定是过不了的(因为\(n\leq 3000\)),考虑变成求个逆矩阵也是不行的,因为逆矩阵的高斯消元也是\(O(n^3)\)的,所以正常做法肯定不行。
后来想到了矩阵分块,把一个块的大小定为\(\sqrt{n}\times\sqrt{n}\),然后我找\(\sqrt{n}\)个块来检测,每次检测的复杂度是\(O(n^{1.5})\),但是很难实现,因为\(n\)不一定是完全平方数,开根之后块的大小并不统一,细节很麻烦,遂放弃。
考虑随机化,比赛的时候想了一个感觉很对的做法,就是我只检查矩阵\(C\)的副对角线、随机一行、随机一列、随机\(n\)个数的值是否符合要求。但是被卡掉了,赛后经过了解,发现出数据的方法是直接把\(A\times B\)的矩阵中修改某几个数的值,所以我随机到这几个数的概率非常小,所以我这样做肯定过不了。
正解还是随机化,我们考虑上面的错误解法错在哪里,上面的做法是不会顾及到\(A,B,C\)的每一个元素的,所以检测结果有很大的偶然性,我们要想一个办法顾及到所有的元素。所以我们想到了用矩阵乘向量,这样出来的结果是体现了每一个元素的。所以我们随机常数个(不能太多,\(10\)左右即可)列向量\(x\),检测\(ABx=Cx\)是否成立,根据结合律,先算\(y=Bx\),再算\(Ay\),因为是矩阵乘向量,所以单次的复杂度是\(O(n^2)\),所以复杂度就对了,答案也对了。

标签:周赛,所以,复杂度,矩阵,sqrt,随机化,随机,Div1,Round1
From: https://www.cnblogs.com/sfcn/p/17209525.html

相关文章

  • AcWing 第 94 场周赛 A B(最短路dij) C(最短路floyed)
    https://www.acwing.com/activity/content/competition/problem_list/2961/AcWing4870.装物品水题#include<bits/stdc++.h>usingnamespacestd;typedeflonglon......
  • AcWing94场周赛复盘
    快速手速题不能犹豫已知,每个背包最多可以装件物品。请你计算,要装下件物品最少需要多少个背包。输入格式一个整数。输出格式一个整数,表示所需背包的最少数量。数据范围......
  • 6317.统计美丽子数组的数目-336周赛
    统计美丽子数组的数目给你一个下标从0 开始的整数数组nums 。每次操作中,你可以:选择两个满足 0<=i,j<nums.length 的不同下标 i 和 j 。选择一个非负整数......
  • LeetCode 周赛 335,纯纯手速场!
    本文已收录到AndroidFamily,技术和职场问题,请关注公众号[彭旭锐]提问。大家好,我是小彭。昨晚是LeetCode第335场周赛,你参加了吗?这场周赛整体难度不高,有两道模板题......
  • [第335场周赛]质因数分解,多重背包
    喜提AK以及最佳排名:6307. 递枕头提示简单3相关企业​​n​​ 个人站成一排,按从 ​​1​​ 到 ​​n​​ 编号。最初,排在队首的第一个人拿着一个枕头。每秒钟,拿着枕头......
  • 力扣第335场周赛补题题解
    目录1.递枕头2.二叉树中的第K大层和3.分割数组使乘积互质4.获得分数的方法数1.递枕头classSolution{public:intpassThePillow(intn,inttime){......
  • Acwing 93周赛 C
    异或值(字典树)思路唉,人太笨了,知道用字典树,但想不出过程,知其然而不知其所以然。代码voidinsert(intx){ intp=0; for(inti=30;i>=0;i--) { intu=(x>>i)&......
  • 周赛_ABC291
    C-LRUDInstructions2题面说了这样一句:(includingthestartingandendingpoints)我不以为意捏,认为怎么会错过。结果WA了一发。回头去找别人做的,似乎也只是把我用......
  • LeetCode 周赛 334,在算法的世界里反复横跳
    本文已收录到AndroidFamily,技术和职场问题,请关注公众号[彭旭锐]提问。大家好,我是小彭。今天是LeetCode第334场周赛,你参加了吗?这场周赛考察范围比较基础,整体难度......
  • AcWing 第 92 场周赛 C题 4866. 最大数量 题解
    原题链接链表+并查集乱搞做法:思路首先可以发现,想要让度数尽量大,那我们应该构造成菊花图,即下图所示:对于每个需求,我们可以知道,如果之前他们没有连在一起,那我们一定得......