摘要: Jisoo 显然满足单调性,可以用单调队列优化 但是要维护两个值 考虑一下这两个值来说,因为每次疲劳值最多加1,那么无论如何优先选择疲劳值最小的来进行转移, 答案肯定不会更差 如果有两个数疲劳值相同但是高度不一样的话,显然保留高度更高的比较好 #include<iostream> #include< 阅读全文
posted @ 2021-09-27 11:49 Simex 阅读(48) 评论(0) 推荐(0) 编辑
摘要: Jisoo 首先可以意识到,对于这个数组,他的异或和一定不会超过数值和 所以说 \(u>v\) 直接挂了 然后意识到,区间和的奇偶性和异或和是一样的,(看第一位),这样$u!=v$也不行 剩下的呢,可以直接构造 \(u,\frac{v-u}{2},\frac{v-u}{2}\)(已经保证了分子为偶数 阅读全文
posted @ 2021-09-27 11:46 Simex 阅读(30) 评论(0) 推荐(0) 编辑
摘要: Jisoo 对于一个等差数列? 直接维护这个区间的首项和公差就可以了 最后的答案反正只有单点查询(区间也差不多) 返回那个小区间的“首项”就可以了 #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #d 阅读全文
posted @ 2021-09-27 11:41 Simex 阅读(22) 评论(0) 推荐(0) 编辑
摘要: jennie 很经典的线段树维护最大子段和 我们只需要维护一下每一个区间的最大前缀,后缀,子段和区间和 对于每一个区间 他的最大前缀可能是左儿子的最大前缀或者左儿子的和加上右儿子最大前缀 后缀,同理 最大子段可能是左儿子最大后缀加上右儿子最大前缀或者说左,右儿子的最大子段 #include<iost 阅读全文
posted @ 2021-09-27 11:37 Simex 阅读(33) 评论(0) 推荐(0) 编辑
摘要: Lisa 显然对于每一个时刻,可以调到的温度是一个区间 那么这样来做的话,我们只需要算出这个区间,然后去$∪$就可以了 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #define int long 阅读全文
posted @ 2021-09-27 11:33 Simex 阅读(48) 评论(0) 推荐(0) 编辑