摘要:
题目链接 链接 翻译 translation 题解 线段树,只要维护一个以 \(w\) 为下标,然后线段树上的值维护的是这个范围的 \(w\) 里面, 最小的 \(h\) 所在的位置即可。 涉及到一些离散化的操作,所以代码看起来比较丑陋。 然后查询的时候,如果想找小于 \(w\) 和 \(h\) 的 阅读全文
摘要:
题目链接 链接 翻译 translation 题解 贪心,随便想想也能猜到,排序。然后哪一方最大的数字大(奇数和偶数),就抢对方的(对方的奇偶性数字大),或者拿自己的(自己的奇偶性大)。 这样,对于拿的那个人来说收益总是最大的。 不够了就随遇而安就行。。 代码 #include <bits/stdc 阅读全文
摘要:
题目链接 链接 翻译 translation 题解 动规。 \(f[i] = f[i+a[i]]+a[i]\) 类似这样?...倒着推一下,注意边界就行。 代码 #include <bits/stdc++.h> #define lson l,mid,rt*2 #define rson mid+1,r 阅读全文
摘要:
题目链接 链接 翻译 translation 题解 先用 \(2\) 然后用 \(1\) 补来凑n/2就行。 挺显然的一个贪心。 代码 #include <bits/stdc++.h> #define lson l,mid,rt*2 #define rson mid+1,r,rt*2+1 #defi 阅读全文
摘要:
题目链接 链接 翻译 题解 看到除2就知道是个暴力题了。 模拟就行,log复杂度除不了几下的。 然后每次分成的碎片个数乘 \(2\) 也很快就会超过 \(n\) 了,为了防止爆 \(int\) 中间就停下来吧。 代码 #include <bits/stdc++.h> #define lson l,m 阅读全文