- 博客(13)
- 收藏
- 关注
原创 洛谷P1908 逆序对
因此,在循环到第 i 项时,前 i−1 项已经加入到树状数组内了 , 树状数组内比 ai 大的都会与ai构成逆序对,因为它们一定出现的更早,所以产生的逆序对数量为i−query(ai)这启发我们对数据离散化,先将数据排序,再用 11 ~ n 分别对应 n 个数表示它们的相对大小,对新的序列建树状数组空间就够了(n≤5×105)如果用的不是这个方法的树状数组,那么你 WA 也多半是你忘记处理 Q3 中提到的问题了,如果 RE ,多半是空间开小了。复杂度与普通的归并排序相同,为O(Nlog2N)
2023-07-22 14:21:40
167
原创 洛谷P1610 鸿山洞的灯
虽然其他题解里已经有了贪心的做法,但是这个做法加了一个小优化,使得代码更加快速(时间复杂度O(NlogN)),而且更简洁。然后每次按顺序从前向后找是否符合条件,符合条件就关掉。另外,第一盏和最后一盏等必须亮着,所以不找。
2023-07-22 14:16:53
243
原创 洛谷P1579 哥德巴赫猜想(升级版)
i*i<=x;int n;cin>>n;return 0;} //第一种情况i<n;i++)//第二种情况if((i%2)!=0&&check(i))//优化j<n;=0&&check(j))//优化return 0;//不用循环第三个数,优化。
2023-07-22 14:14:25
310
原创 洛谷P1002 过河卒
那么假设从 (1,1)(1,1) 走到 当前格子的左侧格子 的路径条数是 x,从 (1,1)(1,1) 走到 当前格子的上方格子 的路径条数是 y,那么从 (1,1)(1,1) 走到当前格子的路径条数就应该是 x+y。具体写代码的时候我们注意到在判断一个点有没有被马拦住时,会用到 (i−2,j−1)(i−2,j−1) 和 (i−1,j−2)(i−1,j−2) 这两个位置,那如果不把所有的点的坐标都加上 2 (前面分析的时候只把所有的坐标加上 1),就会因为数组越界而 WA 掉一个点。
2023-07-22 14:03:14
45
原创 洛谷P5737
于是这道题的解法就是循环一遍,判断这年是不是普通闰年或者世纪闰年。答案要先输出次数,再输出年数,于是我们开一个���ans数组记录一下。时间复杂度为�(�)O(n),�<1500n<1500,没有任何超时的风险。普通闰年:能被4整除但不能被100整除的年份为普通闰年。(如2004年就是闰年,1900年不是闰年);世纪闰年:能被400整除的为世纪闰年。(如2000年是世纪闰年,1900年不是世纪闰年)对你有用的话就点个小小的关注吧╮(╯▽╰)╭。
2023-07-22 13:55:06
208
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人