- 博客(506)
- 收藏
- 关注
原创 球球大作战 贪心 反证法 二分
那么,其他n-1个球该怎么去撞可以最小化这n-1个球碰撞后的值呢,求出最好情况就可以看是否存在解法了。首先是一个结论:其他n-1个球自相残杀之后,再和这个球去碰撞,这样这个球是最大值。若这个球比较大,权值变成(a1+a2)/2,且a2<a1,所以权值不会变大,证毕。所以满足了单调性,直接去二分刚好有解的权值的下标就好了,前提是数组排好序。我们要求的是,对于一个球,是否存在一种方法使得这个球作为最终的胜利者。对于两个球,如果权值较小的那个球都有解的可能性,那权值较大的一定有解。若这个球比较小,直接输掉。
2024-04-22 15:29:39 442
原创 在Activity中使用Toast findViewById() 与 ViewBinding
它通常在Android开发中使用,用于将布局文件中定义的视图与代码中的变量进行绑定。类,开发者可以方便地访问和操作布局文件中的视图,而无需手动查找和操作视图对象。这提高了代码的可读性和可维护性。的作用是将布局文件中的根视图设置为当前活动的布局,使得可以在代码中方便地访问和操作布局中的视图。是 Android 开发中常用的方法之一,用于将布局文件与当前活动(Activity)绑定。通常指的是布局文件的根视图,它作为布局的容器,包含了其他所有子视图。对象,该对象包含了与布局文件中定义的视图相关联的变量。
2024-04-19 20:43:36 398
原创 3.2.3 在AndroidManifest 文件中注册 <intent-filter>标签 配置主Activity的方法
此外,当Android系统收到一个Intent时,会根据Intent中的Action、Category等信息,以及在Manifest文件中声明的。标签内容进行匹配,从而决定启动哪个应用组件。这个过程类似于一个过滤器,筛选出最合适的组件来处理特定的Intent。在标签的内部加入标签,并在标签里添加。在Android开发中,
2024-04-19 15:37:51 164
原创 小红的图上删边 最小生成树 推出两数乘积末尾0的数量
当我们考虑两个数相乘时,这两个数的2的因子和5的因子数量是累加的。也就是说,如果一个数x的2的因子数量为cnt2(x),5的因子数量为cnt5(x),另一个数y的相应因子数量为cnt2(y)和cnt5(y),那么x和y的乘积有cnt2(x)+cnt2(y)个2作为因子,cnt5(x)+cnt5(y)个5作为因子。因此,这个乘积末尾0的数量为min(cnt2(x)+cnt2(y), cnt5(x)+cnt5(y))。设第一个节点的权值为x,第二个节点的权值为y,两个节点的乘积为x。
2024-04-19 09:38:18 309
原创 小红的完全二叉树构造 完全二叉树的结论
完全二叉树的一个特点:n为偶数时,叶子节点数==非叶子结点数,n为奇数时,叶子结点数==非叶子节点数+1,恰好n个结点的完全二叉树的叶子结点数就等于1~n的奇数个数,所有把奇数放在叶子结点即可。
2024-04-19 09:11:10 142
原创 小红的踏前斩 贪心 倒序遍历
为了最大化踏前斩的效果,我们需要找到一个位置i,使得从这个位置开始使用踏前斩,可以对第i个怪物造成1点伤害,对第i+1个怪物造成2点伤害,对第i+2个怪物造成3点伤害。如果k等于a[i+1]/2,那么意味着第i+1个怪物的血量除以2是三个值中最小的,我们可以对这个怪物使用踏前斩,而不需要使用强力攻击。如果k等于a[i+2]/3,那么意味着第i+2个怪物的血量除以3是三个值中最小的,我们可以对这个怪物使用踏前斩,而不需要使用强力攻击。:这个式子表示使用踏前斩后,第i+2个怪物的血量减少3k点。
2024-04-19 08:20:14 231
原创 数组段数 数组遍历 前缀和
(先看代码)给的序列为2 2 3 1 3 3,上面(s[i]=s[i-1]+X,X根据题而定)我们视两个不同的数之间有一个间隙,我们发现所求的结果恰好就是间隙数(X)+1,在上述代码中我定义全局cnt[i]为前缀和数组来记录1~i个间隙数之和,即对应是0 0 1 2 3 3,那么结果就是cnt[r]-cnt[l]+1.
2024-04-15 15:24:05 163
原创 时间管理大师 模拟 set
本题有一个bug:如果事件事件为一天的前4分钟,闹钟应该怎么设置呢?题目并没有特地说明这一点。实际上题目的测试用例并没有包括这类特例,所以上述代码是能跑通题目的。看到相同时间的闹钟应当视为一个闹钟,且输出要从小到大输出,我们应当立刻有使用有序去重集合容器。
2024-04-15 15:07:17 116
原创 6377:生日相同 2.0 结构体
每组生日相同的学生,输出一行,其中前两个数字表示月和日,后面跟着所有在当天出生的学生的名字,数字、名字之间都用一个空格分隔。对所有的输出,要求按日期从前到后的顺序输出。对生日相同的名字,按名字从短到长按序输出,长度相同的按字典序输出。此后每行包含一个字符串和两个整数,分别表示学生的名字(名字第一个字母大写,其余小写,不含空格,且长度小于20)和出生月(1 ≤ m ≤ 12)日(1 ≤ d ≤ 31)。在一个有180人的大班级中,存在两个人生日相同的概率非常大,现给出每个学生的名字,出生月日。
2024-04-15 14:09:02 168
原创 工作时长 蓝桥杯 填空题
计算当前月份之前过去了几天,并加上本月过去的天数,当前的h,r,s 用一行公式(计算当年过去了多少秒)计算后存入小根堆,最后连续取出两个小根堆中的数据,他们所有之差相加记录下来输出即可。补充:小根堆每次只会取出堆中最小的元素。
2024-04-10 10:49:07 123
原创 翻转硬币 蓝桥杯 公倍数 思维 前缀和 整数分块 杜教筛 莫比乌斯反演
【代码】翻转硬币 蓝桥杯 公倍数 思维 前缀和 整数分块 杜教筛 莫比乌斯反演。
2024-04-10 10:36:33 142
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人