BZOJ 4571 美味】的更多相关文章

题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4571 区间找异或值最大,还带加法,可以用主席树: 可以按位考虑,然后通过加上之前已经有的答案.减去题目给的那个 x ,得到满足这一位最大的值的范围,查找一下有没有即可: 注意如果写 b&(1<<j) ,这个不仅是 0 或 1!所以用个 bool 类型存下来. 代码如下: #include<iostream> #include<cstdio> #includ…
又一部SCOI血泪史.... 唉. 就是在这棵树上一遍又一遍跑嘛. 以后不要直接求答案啊.要最后再异或起来. 要学习简单的代码风格. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define maxn 200500 #define maxm 4005000 #define inf 262143 using namespace std; ,tree[max…
二次联通门 : BZOJ 4571: [Scoi2016]美味 /* BZOJ 4571: [Scoi2016]美味 dalao们都在说这题如果没有加法balabala就可以用可持久化trie解决了 然而我连那个也不会啊QAQ 此题用主席树 从高位到低位贪心 能填1就填1,也就是查询一段区间有没有某个范围的数 (然而由乃dalao说可持久化线段树和可持久化trie是一个东西) */ #include <cstdio> #include <iostream> #include <…
链接:https://www.lydsy.com/JudgeOnline/problem.php?id=4571 题面; 4571: [Scoi2016]美味 Time Limit: 30 Sec  Memory Limit: 256 MBSubmit: 1089  Solved: 633[Submit][Status][Discuss] Description 一家餐厅有 n 道菜,编号 1...n ,大家对第 i 道菜的评价值为 ai(1≤i≤n).有 m 位顾客,第 i 位顾客的期 望值为…
题目链接:美味 如果题目里面没有那个\(a_i\),这道题就可以直接在\(Trie\)树上走一走就做完了.现在多了个\(a_i\),\(Trie\)树就无能为力了. 我们考虑一下在\(Trie\)树上走的过程.我们从高位往低位按位贪心,每次判定这一位能否取\(1\),本质上就是在判定某个区间内有没有数.所以我们把这个区间弄出来,在主席树上查询一下就可以了.这样就可以把那个\(a_i\)给考虑进来了. 下面贴代码: #include<iostream> #include<cstdio>…
http://www.lydsy.com/JudgeOnline/problem.php?id=4571 这道题因为有加法,不能像可持久化trie那样每次判断只判断一个子树,而是在主席树上查询\(\log n\)个子树. 从高位到低位依次确定\(a_j+x_i\)的二进制位. 注意\(a_j+x_i\)不是\(10^5\)级别的,是两倍大小. 时间复杂度\(O(n\log n+m\log^2n)\). #include<cstdio> #include<cstring> #incl…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4571 按位考虑,需要的就是一个区间:比如最高位就是(2^k -x). 对于不是最高位的位置该怎么考虑?其实之前位置如果能或不能匹配上,也就相当于指定了之前的位上的是0还是1:把是1的位累计进一个变量里,加到区间的边界上就行了! #include<iostream> #include<cstdio> #include<cstring> #include<alg…
题目链接 要求 \(b\ xor\ (a_j+x)\) 最大,应让 \(a_j+x\) 的最高位尽可能与b相反.带个减法Trie树好像很难做?反正我不会. 从最高位开始,如果这位b是0/1,判断是否存在 \(sum+(1<<l)-x\leq a_j<sum+(1<<l+1)-x\) / \(sum-x\leq a_j<sum+(1<<l)-x\).用主席树判断. 我还在想对于一个询问怎么一次算..直接O(logn)枚举. 注意要从0开始! //46136kb…
[Scoi2016]美味 Time Limit: 30 Sec  Memory Limit: 256 MBSubmit: 721  Solved: 391[Submit][Status][Discuss] Description 一家餐厅有 n 道菜,编号 1...n ,大家对第 i 道菜的评价值为 ai(1≤i≤n).有 m 位顾客,第 i 位顾客的期 望值为 bi,而他的偏好值为 xi .因此,第 i 位顾客认为第 j 道菜的美味度为 bi XOR (aj+xi),XOR 表示异或 运算.第…
4571: [Scoi2016]美味 Time Limit: 30 Sec Memory Limit: 256 MB Submit: 275 Solved: 141 [Submit][Status][Discuss] Description 一家餐厅有 n 道菜,编号 1...n ,大家对第 i 道菜的评价值为 ai(1≤i≤n).有 m 位顾客,第 i 位顾客的期 望值为 bi,而他的偏好值为 xi .因此,第 i 位顾客认为第 j 道菜的美味度为 bi XOR (aj+xi),XOR 表示异…