首页 > 其他分享 >QOJ # 6355. 5

QOJ # 6355. 5

时间:2023-08-27 19:45:39浏览次数:37  
标签:6355 sqrt bitset 考虑 QOJ dp

题面传送门

设题目中给出的 \(1\) 的个数占总数的 \(\frac{m}{k}\)。考虑一个最朴素的 \(O(n^3)\) dp:设 \(f_{i,j}\) 表示选择了 \(i\) 个,总和为 \(j\) 是否存在。

当我们用 \(j-i\) 代替 \(j\) 的时候显然答案不会被改变,而好处在于可以把 \(1\) 拉出来单独考虑。当我们不考虑 \(1\) dp 完这个数组后,对于每个 \(j\),只有 \(O(k)\) 个 \(i\) 需要被考虑。具体的,初始化 \(x=\infty\),设 \(1\) 有 \(p\) 个,则每次找到最大的小于等于 \(x+p\) 的数,则 \(x\) 到这个数之间都能被覆盖到,并把 \(x\) 赋值为这个数,若找不到则找最小的大于等于 \(x+p+1\) 的数,这个区间内只有 \(p+1\) 个数为 \(1\),然后将 \(x\) 赋值为这个数。容易发现至多只有 \(2k\) 个 \(i\) 被考虑到。

但是这对我们的 dp 并没有什么实质性的帮助。考虑对 dp 本身进行优化,一般有 bitset 或者多重背包。bitset 与上述过程并没有很大的关联,所以考虑多重背包,这样需要考虑的物品数只有 \(O(\sqrt m)\) 个。对于每个物品,用 set 维护一个滑动窗口内可以转移的数,在里面二分即可转移。时间复杂度 \(O(n\sqrt nk\log n)\) 但是实际上并跑不满。

submission

标签:6355,sqrt,bitset,考虑,QOJ,dp
From: https://www.cnblogs.com/275307894a/p/17660706.html

相关文章

  • QOJ # 6354. 4
    题面传送门我是傻逼。首先你看这东西长得一脸四元环计数那类东西,于是先给边定向,这样子的话就形成了一张图,每个点只有\(O(\sqrtm)\)条出边。现在我们枚举一个三元环,要计算三个点都指向的点的个数。直接做有\(O(m\sqrtm)\)个三元环,每个三元环需要\(O(\frac{m}{\omega})\)......
  • QOJ # 6508. This is not an Abnormal Team!
    题面传送门感觉网络流学艺不精,被薄纱了/kk原题意是最少一个点的链,在此基础上最少三个点的链,比较难去用网络流考虑。换个思路:先最大匹配出两点链,然后让最多两点链合并上一个单点变成三点链。这样显然单点最少,并且保证了不会有\(3\)个两点链合并成两个三点链,所以这样是符合题目......
  • QOJ # 6504. Flower's Land 2
    题面传送门感觉,非常高妙的随机化!考虑怎么判定一个序列合法,将每种颜色的奇数位置看成左括号,偶数位置看成右括号,则一个序列合法当且仅当其括号序列合法。现在带修,我们维护的东西需要满足如下性质:可逆:将相邻奇数位的信息和偶数位的信息合并需要等于单位元。有结合律:不然没有办......
  • QOJ875 Arrange The Piranhas
    题意:大小为\(1\timesn\)的棋盘上有一些棋子,一次可以选择一个空的位置,将左边第一个棋子往该位置拉一格,右边第一个往这拉一格,操作完这个位置也必须是空的(也就是左右至少得有一格的空隙),问能不能把所有棋子变成目标状态。将棋子位置的前缀和\(s_i\)求出,每次操作相当于将一个\(......
  • 【大联盟】20230701 传送(b) QOJ1878 【No Rest for the Wicked】
    题目描述here。题解考虑一条路径上只有\(a\)的前缀\(\max\)才是有用的,不妨考虑按照前缀\(\max\)来划分。可以发现,这些连续段直接存在单向边连接。现在,我们考虑如何求出这些连续段。一个点\(i\)可以接在前缀\(\max\)为\(a_j\)的后面当且仅当\(a_j\lea_i\leb_j\)......
  • 【大联盟】20230706 Interesting DS Problem(interesting) QOJ2559 【Endless Road】
    题目描述here。题解首先,我们对所有区间离散化,删除一个区间时,我们暴力删除内部还存在的子区间。如果没有区间包含是好做的,因为我们删除一个子区间时,将区间按照左端点排序,可发现包含这个子区间的区间是连续的一个区间。现在考虑有区间包含怎么做。我们考虑维护出当前所有不包含......
  • 【大联盟】20230706 graph(graph) QOJ4635 【Graph Operation】
    题解赛时得分:60/?写了个乱搞首先考虑无解的条件。注意到一次操作后,所有点的度数都没有改变,所以无解的充分条件就是存在一个点的度数在两张图中不相等。接下来尝试构造策略,使得度数相等的时候都能出解。我们可以将题意转化一下,变为对图\(G\)和图\(H\)都可以操作,使得最后产......
  • QOJ 6504. CCPC Final 2022 D Flower's Land 2题解
    QOJ6504.CCPCFinal2022DFlower'sLand2题解题意简述给你一个只含\(0,1,2\)的序列,相邻两个相同的数字可以直接消掉。询问包含两种区间所有数\(+1\)并对\(3\)取模。求一段区间能否用上述消除方式消完。样例输入8901211012245236168168236......
  • QOJ 5500. Bars / NOIP 模拟赛 20230706 B 进阶版--zhengjun
    本题转化为梯形面积就已经不是很好想了(赛时切掉,开心!)进阶为静态区间查询。使用不删除莫队+凸包合并凸包合并就是把散块和整块的凸包合并注意这里两个凸包的横坐标值域是无交的于是可以使用二分套二分解决此问题代码咕着,感觉非常难写......
  • 盘点那些 FZQOJ 被 ban 掉的功能
    原链接在【洛谷博客】。目录前言初\(2023\)届(c2023)1.犇犇(卒于2021/07/27)2.一言(和犇犇同时挂的)3.评论(卒于2021/07/28)初\(2024\)届(c2024)1.Python2.7(卒于2022/03/15)2.难度标签(卒于2022/07/21)3.HTML(卒于2023/01/04)初\(2025\)届(c2025)前言身为FZOIer的我们十分的......