- 博客(7)
- 收藏
- 关注
原创 牛客小白月赛62D题子树的大小题解
由题干可得对于一个结点x,其子树最左边是x*k+1,最右边是x*k+k(如果x*k+k>=n的话就是n-1)。那么可以用每一层的最右边的编号减去最左边的编号累加来得到结果。
2022-11-27 21:41:32
266
原创 牛客小白月赛62E题剖分 题解
这题本身是非常简单的,比赛时是打算用差分来写的,但是差分在处理操作3和操作4时挺不方便的,在看到题解时才意识到可以差分数组和权重数组一起用,不仅好理解还不容易出错。原来的方法死于debug失败,特地写此文警醒自己。
2022-11-26 20:37:08
373
原创 牛客小白月赛61_C-小喵觅食题解
来源:牛客网现实世界可以抽象为一张 n×mn \times mn×m 大小的二维地图。PLMM 的初始坐标在 (x1,y1)(x_1,y_1)(x1,y1),活动范围 r1r_1r1 表示 PLMM 只会移动到坐标为 (x,y)(x,y)(x,y) 的位置 (0≤∣x−x1∣+∣y−y1∣≤r1)(0 \leq |x-x_1|+|y-y_1| \leq r_1)(0≤∣x−x1∣+∣y−y1∣≤r1)。
2022-11-22 18:38:51
551
原创 SDNU_ACM_ICPC_2022_Weekly_Practice_1rd「个人赛」J题题解
之后用num=n将n赋值的num,作为手头拥有的数字,用两个数字换一个数字的时候我们不能用需要的组成1~ans序列中的数字去换,所以直接去减num的方式来换掉这些数字。首先是将已经有的数字做好标记,因为总共只有n个数字,所以ans的值是一定不会超过n的,我们在输入数据的时候可以默认大于n的数字是要给拿去换的。遇到没有的数就试着用两个数去换缺的数。简而言之就是给n个数字,可以通过删除两个数字换一个指定的数字,最后能得到连续的1~ans中ans的最大值就是要输出的结果。的思路并向作者提出了自己的错误思路。
2022-10-27 16:23:47
437
原创 2022 年第四届齐鲁工业大学(山东省科学院)与山东师范大学ICPC 大学生程序设计竞赛 G题题解
lcm(i,j)意为i和j的最小公倍数,由最大公约数的定义可得i与j除以共同的最大公约数后,剩下的两个数最大公约数为1即互质,那么i与j的最小公倍数就是(i/gcd(i,j))*(j/gcd(i,j))*gcd,化简后就是(i*j)/gcd(i,j)。故lcm(i,j)*gcd(i,j)/i=j。该题的公式若直接执行,在n的数值较大时会有巨大的计算量,故先对公式进行数学上的处理,由于lcm的取值与gcd相关,所以先对lcm进行操作。就可以看作是i的阶层,i!里的内容已经化简为一个j,那么整个。
2022-10-16 15:18:27
577
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人