首页 > 其他分享 >bzoj #4069. [Apio2015] 巴厘岛的雕塑

bzoj #4069. [Apio2015] 巴厘岛的雕塑

时间:2023-10-28 21:56:10浏览次数:42  
标签:leftarrow sum 4069 Apio2015 按位 dp bzoj

bzoj #4069

  • 二进制?按位考虑。
  • 或操作而且最小?按位贪心。
  • 从最高位往下贪,记录一个 \(x\) 表示当前最高位确定了哪些位可以为 \(0\) (其中存在为 \(0\) 方案的位上值为 \(1\) )
  • 考虑 dp 处理对于第 \(t\) 位能否为 \(0\) :
    • 设计状态:设 \(dp_{i,j}\) 表示前 \(i\) 个数分成 \(j\) 个部分后**在满足高位满足 \(x\) 限制条件的情况下能否取到。
    • 初始化:\(dp_{i,j} \leftarrow 0, dp_{0,0} \leftarrow 1\)
    • 转移:当 \((sum[i]-sum[k])\& x=0\) 时 \(dp_{i,j} \leftarrow dp_{k,j-1}\)
    • 记录答案:\(Ans = \max_{i=A}^B dp_{n,i}\)
  • 最终复杂度 \(O(n^3\log A)\) ,显然过不了最后一个数据
  • 发现当 \(A=1\) 时我们只用判断右端点的情况,显然是越低越好。让 \(dp_i\) 记录前 \(i\) 个数最少分成多少个部分满足答案即可,优化掉一个 \(O(n)\)

标签:leftarrow,sum,4069,Apio2015,按位,dp,bzoj
From: https://www.cnblogs.com/fox-konata/p/17794733.html

相关文章

  • bzoj #2863. 愤怒的元首
    bzoj#2863设\(dp_i\)表示\(i\)个点的DAG个数。发现一个DAG删去出度为\(0\)的点后显然还是一个DAG,因此不妨枚举出度为\(0\)的点的个数:\(dp_i=\sum\limits_{j=1}^idp_{i-j}\binom{i}{j}2^{j(i-j)}\)这么干显然不太对,因为我们不能保证每次删除时都能把图中的所......
  • P4069 SDOI2016 游戏
    传送门solution树剖后一段路径变成了若干链拼起来。自上而下和自下而上分别维护两棵李超线段树,每条链就是一段数轴,提前处理每个点两种方向上的在链内的横坐标。以最近公共祖先为界,把路径分成两段。从一个点向链的顶端跳就是区间加线段。每次跳完要把线段的截距增加一个横坐标偏......
  • 「BZOJ2505」tickets 题解
    preface网上目前还没看到我的方法,就大概讲一下做法solution首先想到贪心,考虑\([l,r]\)的最大次数,一定是找到最小的\(x\)满足\(l\simx\)的位数的和大于等于\(k\),然后递归的求解\([x+1,r]\),易证。还是考虑将\(Query(l,r)\)拆分成\(Query(1,r)\)和\(Query......
  • BZOJ 生日礼物
    题目背景翰翰18岁生日的时候,达达给她看了一个神奇的序列$A_1,A_2,\dots,A_n$。她被允许从中选择不超过$M$个连续的部分作为自己的生日礼物。翰翰想要知道选择元素之和的最大值。你能帮助她吗?解题思路可以先合并序列中连续的同为正或负的值,使原序列变为一个一正一......
  • BZOJ 3509
    题目链接description给定一个长度为\(n\)的数组\(a\),求有多少对\(i,j,k(1\leqi<j<k\leqn)\)满足\(a_k-a_j=a_j-a_i\)\(n\leq10^5\)值域大小3e4.solution三个数,看起来就不好用数据结构维护。\(2a_j=a_i+a_k\)可以当做多项式两项的指数相加得到指数为\(2a_j\)的......
  • BZOJ 3451
    题目链接description厉害题。给定一棵树,按照题面要求求一个错误点分治的期望执行次数。(不想描述题面了qwq)solution考虑拆开计算每个点期望几层点分治后被删除。这个期望值显然就是它对答案的贡献。我们不妨以这个点为根,那么相当于要求每次删除一个未被删除的点的子树,求删完......
  • BZOJ3309 DZY Loves Math
    题目大意对于正整数\(n\),定义\(f(n)\)为\(n\)所包含质因子的最大幂指数。例如\(f(1960)=f(2^3\times5^1\times7^2)=3\),\(f(10007)=1\),\(f(1)=0\)。给定正整数\(a,b\),求下式的值:\[\sum^{a}_{i=1}\sum^{b}_{j=1}f(\gcd(i,j))\]推导首先记\(n=\min(a,b),m=\max(a,b)......
  • [BZOJ 4361] isn
    简述题意给出一个长度为\(n\)的序列\(A(A_1,A_2,\dots,A_n)\)。如果序列\(A\)不是非降的,你必须从中删去一个数,并重复这一操作,直到\(A\)非降为止。求有多少种不同的操作方案,答案模\(10^9+7\)。题面转换......
  • 【BZOJ 3364】Distance Queries 距离咨询 题解
    原题简化题意:有一棵\(n\)个点的树,\(q\)组询问,每次询问回答两点间的距离。令\(dis[i][j]\)表示\(i\)到\(j\)的距离,根节点为\(rt\),则有\(dis[i][j]=dis[rt][i]+dis[rt][j]-2×dis[rt][lca(i,j)]\),按照题意打即可。#include<bits/stdc++.h>usingnamespacestd;#d......
  • BZOJ3337 ORZJRY I 题解
    https://vjudge.net/problem/黑暗爆炸-3337题意试维护一个序列,支持以下\(11\)种操作:输入格式说明1xw在\(a_x\)后插入\(w\)2x删除\(a_x\)3xy翻转\((a_x,a_{x+1},\dots,a_y)\)4xyk将\((a_x,a_{x+1},\dots,a_y)\)右移\(k\)次......