- 博客(9)
- 收藏
- 关注
原创 同余方程(扩欧)
那么可以用扩展欧几里得求得x和y的值,ax' + by' = d = gcd(a, b)求关于 x 的同余方程 ax≡1(modb) 的最小正整数解。可以将式子转化成ax + by = 1。因为b是模数,所以x每次加b取模b即可。那么如何保证x为最小正整数解呢?易得x = x' / d;
2024-08-19 16:27:27 152
原创 长沙学院2023年冬季训练赛
这题不难发现最终走的步数一定是所有数的最小公倍数,由于第i天会走i的平方布,所以最终的数应该是所有数的最小公倍数的倍数,那么根据根据平方和公式求出t天走了(t * (t + 1) * (2 * t + 1)) / 6步,也就是说我们需要求出那个最小的天数t使得这个式子取模所有数的最小公倍数为0即此时的天数t为最小的答案,而三个乘法的式子中,三个数是互质的,所以就需要去三个循环遍历三个式子的值,取公共最小t满足这个式子取模所有数的最小公倍数为0。暴力枚举a的t次方,求有多少b的k次方与其对应。
2024-08-19 15:48:35 188
原创 牛客小白月赛86
bfs求坐标的xy最大值最小值,判断是否成矩阵。不管单选还是多选,只要小蓝写的答案在正确答案中找不到就一定是0分,能找到就是10分(因为单选和多选的分都是一样的,多选没选全小灰灰会给小蓝补上正确答案)2e5暴力显然超时,那我们可以用前缀和来记录,如果和前一个不一样那我们的前缀和数组就加加,一样就和前面的相等,查询的时候注意边界情况即可。要比较a/b和c/d的大小,可以比较a*d与b*c的大小。二分结合后缀最大子串和,有道差不多的题,很经典的算法。
2024-01-20 16:25:12 533
原创 哈尔滨华德学院-新生编程挑战赛(同步赛)
以i为左端点(因为后面要遍历完st的长度,所以i只遍历到s的长度减去st的长度),用flag来标记是否有s和st不相等并且s中还不是?,如果有那么flag标记错误break(有一个不一样就不是,i就可以往下一个端点去了),当然如果满足除了?每经历过一个人就过了一个回合,每过k个回合到当前枪手的位置枪手会向下一个人开枪,下一个人就会挂掉(用map标记false即挂掉hhh)因为是向下一个人开枪所以我cnt初值赋的-1这样cnt回合++到k回合时其实就是当前枪手挂掉。ICrazy小飞象!
2023-12-03 23:02:13 646
原创 大连大学2023年11月程序设计竞赛(同步赛)
一元二次方程函数图形问题,根据ab的值判断即可,当且仅当a为零b不为零即一元一次方程直线时有无穷小值。无论怎么加减,总数是不变的,所以全部加起来与n判断即可(记得有道一模一样的题hhh)看着像01背包,其实是误导,因为体积每次会乘2,所以排序每次放最小的就行qwq。取每个组最大,将剩下的全部存起来,从大到小排序后,将m大于n的部分再加上。如果有两个棋子在一起那么输出n即可,如果没有就输出n - 1。并查集,将取下隔板的河流合并取其中最大值,最后查询即可。输出不为a*b的值即可。
2023-11-28 21:20:35 640
原创 CCSU2023暑期结训测试赛
k为奇数时,第一位一定是(k + 1) / 2(模拟就可得),后面需要进行1到n / 2次循环处理将(k + 1) / 2每次进行减一,当其本就是一时则将其删除(可以通过最简单的n为5 k为1样例模拟),而通过n为8,k为3的例子可得若最后一项删除并继续进行减一操作时,需要将其减一后在后一项添加一项赋值为k(不太懂啥原理只能模拟出来qwq)求最多能删除的边,如果i,j两点之间存在一点k使得i可以通过k到达j的距离比i直接到j的距离更短,那么此时i到j的这条边可以删除,无向图最后要删除的边需要除2。
2023-08-23 17:39:08 88
原创 牛客小白月赛72
水平比较cai,所以只有前三题,写写博客来加深自己的理解。这次前面的签到题只要理解很容易写出来,代码都不长。只比较第一个和最后一个就行,最后一个比第一个小不管怎么样都跳不到最后一个,这里注意等于也跳不上。一个+必对应一个-,所以对应a数组和b数组作差,最后判断作差的和相不相等即可。函数求因子数量,1到n循环求因子数量是否为奇数。
2023-05-13 20:22:08 94 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人