贪心
LowestJN
强省弱OIer
展开
-
[BZOJ3179][Coci2012][线段树][贪心]RASPORED
写几个数据就可以发现把t从小到大排序后是最优的。 那么只要用splay或线段树动态维护一下这个序列就可以了#include <cstdio>#include <iostream>#include <algorithm>#define N 200010#define X first#define Y secondusing namespace std;typedef long long l原创 2017-04-17 19:42:51 · 491 阅读 · 0 评论 -
[贪心 高维前缀和] BZOJ5092. 分割序列
设前缀疑惑和为 sis_i 那么对于每个前缀 sis_i,相当于找一个 sjs_j 使得 sj+(si⊕sj)s_j+(s_i\oplus s_j) 最大从高位往低位贪心,判断是否存在。 可以用 O(nlogn)O(n\log n ) 的高维前缀和预处理#include <cstdio>#include <iostream>#include <algorithm>#include <cs原创 2017-12-09 22:14:31 · 662 阅读 · 0 评论 -
[贪心]「CodePlus 2017 11 月赛」可做题
已知的数字可以分成很多段,每一段单独处理每一段中的数求前缀异或和,那么可以在这一段之前加上某个数,在这段后面把前缀异或和清零,这样肯定是最优的。对这一段前面的数逐位贪心,如果这一位为1会更优,那么就为1,否则为0 这样贪心就行了#include <cstdio>#include <iostream>#include <algorithm>#define fi first#define se原创 2017-11-26 21:22:35 · 829 阅读 · 0 评论 -
[贪心 线段树] LOJ#2472. 「九省联考 2018」IIIDX
从1到n枚举,逐位确定。首先可以把关系树建出来,一个点的权值要大于等于父节点的权值。如果没有相同数字的,第 iii 以及它子树种的点会选择 [n−sizei+1,n][n−sizei+1,n][n-size_i+1,n] 这个区间里的数,选完后把这个区间删去,继续考虑 i+1i+1i+1如果有重复的数字,那么第 iii 个点会选择第 n−sizei+1n−sizei+1n-size_i...原创 2018-04-07 21:29:41 · 585 阅读 · 0 评论