- 博客(5)
- 收藏
- 关注
原创 #828Div.3E1题题解
很容易想到双重循环,以x和y的大小作为循环条件,但是因为abcd的范围是(1,1e5),这样做的时间复杂度为n^2,很容易超时,所以要考虑优化。如果x*y能够整除a*b,那么a*b的所有因数肯定都包含于x*y的因数,所以只需要将x*y与a相同的公因数去掉,剩下的数就是y中必须包含的因数。他们的范围是a
2022-10-18 21:23:49
176
原创 #828Div.3D题题解
输入完成之后,将1到n进行判断因子2的个数,并进行排序,从大到小累加到sum中,直到sum>n,每次累加就将操作数ans加1,最后输出操作数ans。经过任意次操作后使得a1*a2*a3*a4......*an能够整除2^n。所以我们可以在输入ai时判断他的因子2的个数并把它累加到一个变量sum中。要使这n个数的积s能够整除2^n,那么就代表这个积至少有n个因子2。对于任意一个ai你可以进行一次操作:将ai乘上i。输入n个数,a1,a2.....an。
2022-10-18 21:01:10
159
原创 #828Div.3C题题解
其次,保证能够通过路口的最短时间的意思就是说,对于每一个x都有一个最小值,使我们能通过马路,这个最小值就是离x最近的g的位置减去x的位置,记为bi。提示:在这题中,存在循环,而循环最多执行一次,所以复制一遍然后加到原来的后面就相当于进行了循环,因为要复制字符串,所以数组的长度最少要开400000.很容易想到先用一个循环找到一个x的位置,再从x往后遍历,寻找到离x最近的g的位置,再相减得出时间。所以,我们可以推断出,在第一个r与第一个g中间的所有r到g的距离,肯定小于第一个r到g的距离。
2022-10-18 19:19:28
247
原创 acm第一次摸底考Problem B题解
我们首先考虑1,将1放到末尾,然后剩余的数输出,此时1的左右没有与他相差1的;对于第二个样例存在 [1,2,3],[1,3,2],[2,1,3],[2,3,1], [3,2,1],[3,1,2] 6种情况。1.对于此排列中的任意一个数a[i],都存在a[i-1]或者a[i+1]等于a[i]-1或者a[i]+1。[2,3,1],[3,1,2]不满足第一个条件,所以不存在符合条件的数列,输出-1。其中 [1,2,3],[1,3,2],[2,1,3], [3,2,1]不满足第二个条件。
2022-10-13 10:11:18
72
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人