银当taki
银当taki
全部文章
题解
归档
标签
去牛客网
登录
/
注册
银当taki的博客
全部文章
/ 题解
(共16篇)
题解 | #Tokitsukaze and Bracelet#
寒假训练营2 C 字典树 求升序子序列个数,其中最大值和最小值的异或小于等于d。如果确定了最小值最大值分别为a[i],a[j],,那么中间的数都可选可不选,这组maxmin对总方案数的贡献就是2^(j-i-1)。 直接二重循环枚举minmax显然是不行的,只能枚举一个,然后logn查询另一个。但这个...
2024-02-10
1
191
题解 | #DFS搜索#
寒假训练营1 E dfs 被骗了,名字叫贪心,实际上是dfs。 注意到比赛场数只有10场,每场只有3种结果,爆搜复杂度也只有3^10,果断dfs。教训是数据小到能爆搜,就直接爆搜。 if(x==m+1){//比完了 int p0=p[0]; sort(p.be...
2024-02-08
1
188
题解 | #小红大战小紫#
小白月赛86 D.dfs 问图中有多少个长方形,正方形也算长方形,并且每个长方形都是当前区域最大的。 判断长方形可以计算连通块面积s,以及横坐标之差最大值mx,纵坐标之差最大值my,如果mx*my=s则是长方形。 int xm[4]={1,0,-1,0}; int ym[4]={0,-1,0,1};...
2024-02-05
1
287
题解 | #小红小紫替换#
周赛Round31 D.map模拟静态数组 给一个数列,要完成两种操作:在一个指定元素的右侧插入,删除指定元素。 维护序列首先考虑一下最经典的两种结构:数组和链表,数组插入和删除都需要O(n),而本题操作次数有1e5,舍去。链表插入是只需要O(1),但是寻找插入位置需要O(n),也不行。 看起来都不...
2024-02-05
3
256
题解 | #小红大战小紫#
周赛Round29 D.小红的中位数 开始想用堆顶堆,但很快就发现每次都只是自在初始序列上删一个之后的查询,中位数只会跟中间几个数有关,只要根据初始序列长度的奇偶和删去元素的位置讨论一下就能以O(1)算出每次查询 如果是偶数,删去元素位于左半边,会让右半边第一个成为中位数,位于右半边,会让左半边最后...
2024-01-30
0
339
题解 | #小红的删字符#
周赛Round30 D.小红整数操作 首先一个很显然的思路是算出满足大于等于l的最小的x需要乘几,再算出满足小于等于r的最大的y需要乘几,然后这两个数之差就能得到有几组可行的x,y。开始就是这样写的,但是挂了 因为问题是这个思路默认了x,y开始都小于l,r,但这是不一定的。在赛场上意识到这个问题后我...
2024-01-29
0
240
首页
上一页
1
2
下一页
末页