- 博客(7)
- 收藏
- 关注
原创 P1610 鸿山洞的灯
http://P1610 鸿山洞的灯 - 洛谷https://www.luogu.com.cn/problem/P1610。检测第i+1盏灯是否符合“ i盏与第i+2盏的距离是否≤dist ”的要求时,因为第i盏已经关了,所以,如果没有。逐一检测第i盏灯是否符合“ i−1盏与第i+1盏的距离是否≤dist ”的要求,其实不然,我们的思路不是删掉第i盏灯,而是将第i盏灯的值指向第i-1盏,这样,在。第i盏灯的值指向第i-1盏灯的过程,那么答案会出错。也就是for不用循环第1盏和第n盏,
2025-05-25 14:34:48
352
1
原创 P1168 中位数
a的长度大于b,就把x扔进b,同时x赋值为a里的最大值,并删除a里的最大值,此时x就是当前中位数。为了方便,a从大到小,b从小到大。例如:在一个优先队列中插入1,2,3,4,5,存入优先队列里是这样的(按顺序):-1,-2,-3,-4,-5,取出时是这样的(按顺序):1,2,3,4,5。输入的值如果比x小,就扔进a里;用两个优先队列a和b和一个变量x(中位数)存储内容,这样,我们就模拟了一个可以访问中间元素的优先队列。优先队列内的元素是有序的(默认是。但优先队列是无法随机访问的,就输出优先队列中间的值,
2025-04-15 20:22:29
743
1
原创 P5266 【深基17.例6】学籍管理
用一个下标类型是string的map,下标代表名字(NAME),下标对应的数代表分数(SCORE),“m.find(NAME)!=m.end()”是用于查找m里有没有下标为NAME的定式(有返回1,没有返回0),原理是:当用find函数查找时,没找到会自动返回数组的end,这一位并不会有值,所以不用担心误触。P5266 【深基17.例6】学籍管理 - 洛谷。
2025-04-10 20:50:29
357
1
原创 B4060 位运算 (1、2通讲)
举一个更鲜明的例子:a是15(二进制是1111),b是2,所以x1等于1<<b=0100,1111&0100等于0100,右移b位后是01,也就是1,就是最终结果。利用按位与(&)的特性,我们设置x2为反码(~)后的x1,假设x1是100,x2就是011,用样例做解释:a是11(二进制是1011),b是2,x1是100,x2就是反码(~)x1等于011,为了与1011按位与(&)同位,反码左边补1,x2等于1011。利用按位或(|)的特性,用a直接按位或(|)x1。位运算水题,适合新手,
2025-04-08 20:24:05
1830
1
原创 P11229 [CSP-J 2024] 小木棍
除以上规律外, i =0、1、3、4、10的是例外, i 的 j 分别等于-1、-1、7、4、22,在代码中需要特判。除以7余数得2、5、6的 i ,最高位都分别是1、2、6,其余位都是8,8的数量为 i /7-1;除以7余数得1、4的 i ,大多最高位都分别是10、20,其余位都是8,8的数量为 i /7-2;除以7余数得3的 i ,大多最高位都分别是200,其余位都是8,8的数量为 i /7-3;是7的倍数的 i ,所有位都是8,8的数量为 i 除以7;若是的话,则让初始值为-1的ans等于j,
2025-03-18 20:40:01
621
1
原创 P1577 切绳子
这道题与普通二分答案不同的是,它是要保留两位小数的,而且过程中也有double,但是,我们在二分答案的过程中,仍然用int类型,因为——观察数据范围可发现,0 < L[i] ≤ 100000.00,把点去了之后,10000000(10^7)仍然很小(当然没法暴力),所以我们只需要在判断和输出的时候强制转换为double并除以100(也就是加小数点)就好了。根据蒟蒻的经验,二分答案其实就是有策略的暴力枚举,如果不符合,那就把比当前m大或小的全部排除,
2025-03-05 21:26:39
324
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人