QingShan0
QingShan0
全部文章
分类
题解(5)
归档
标签
去牛客网
登录
/
注册
QingShan0的博客
全部文章
(共5篇)
题解 | #时间复杂度#
模拟题,考察耐心和细节。 做了将近三个小时,连改带调的写了出来。遇到了不少坑点,也熟悉了一些淡忘的知识点。 ①:gets现在一般不用了,用的是fgets(s,sizeof(s),stdin)。直接用gets会报错。 ②:gets本身读入是遇到'\n'就结束,但本身也把'\n'读进去了,所以在循环中不...
栈
模拟
2024-02-20
3
432
题解 | #毒瘤xor#
不开long long见祖宗,嗯,是这样。 思路很简单,把玩几个样例过后,会发现在二进制下的l和r,只需要关心第一次出现不同的情况。(从高位往低位进发) 我的一些看法: l:1 1 1...0 an an-1...a1 r: 1 1 1...1 bn bn-1...b1 只考虑l>r,因为l=...
C++
贪心
2024-02-19
0
252
题解 | #毒瘤xor#
前缀和和位运算的基本运用。另外还有贪心的思想。 关于位运算上的数什么时候取1,这取决于当前区间上的数中该位置是1多还是0多。 因为多组解要求最小的,所以只有当1的个数严格<总个数的一半的时候,X的这一位才取1。 没有必要给中间值开double,直接让前面乘以2即可。 #include<i...
贪心
枚举
前缀和
2024-02-17
1
256
题解 | #[NOIP2004]合唱队形#
题目中的坐标给出序列是一个很好的序列。因为我们只需要找该点左下角的星星,那么后面给出的点必然不符合左下角的设定,所以只需要判断给出该点之前有多少个星星在其左下角。更准确的说,只需要判断多少个星星的x坐标<=当前星星的x坐标即可。 不会树状数组,还没学。用线段树写了一遍,还是比较基础的。 主要思...
C++
线段树
2023-11-13
3
330
题解 | #Running Median#被格式卡了好久,写一篇题解吧。
经典对顶堆写法就可以了。依次加入元素,左边为大根堆,右边为小根堆。每次加入一个新的元素的时候判断一下是加入右边还是左边。由于保证了左右堆的数量差距<=1,所以一共三种情况我选择了枚举。另外空格和换行的问题有被恶心到,直接上代码吧。 ">#include<cstring> #incl...
C++
二叉树
排序树
2023-08-22
0
433