首页
比赛
tracker
题库
课程
竞赛讨论区
登录
/
注册
去牛客
首页
>
小L的数组
8条解析
开通博客写题解
cslg0922242zz
发表于 2026-02-18 14:56:44
题意: 现有初始x=0,以及两个长度为n的a,b数组,我们要进行n次操作,每次操作可以选择将x更新为max(x-a[i],0)或更新为x^b[i]。使得n次操作后最大化x。 知识点: 动态规划 思路: 从题意可以看出,他最终操作不会大于2^i(i是b数组中最大数的二进数位数),因为异或不会产生一个新
展开全文
牛客93731980号
发表于 2026-02-19 11:24:56
该题目需要用到动态规划思想,定义一个n+1行2048列的bool类型的二维数组dp,dp[0][0]为true,其余为false,之后从第一行开始,按照两个规则分别进行,得出的两个数,并将相对应的列数修改为true,以此进行下去直至最后一行,而最大数也一定在这最后一行,最后再对最后一行进行查找即可。
展开全文
牛客93731980号
发表于 2026-02-19 12:57:22
若出现脚后跟位置<缝隙位置<脚尖位置,则输出YES,否则NO,每个缝隙位置可用前缀和存入一个新的数组,通过双指针i,j,i用来遍历脚后跟位置,j用来遍历所有缝隙,对于每个i,找到大于i的j,并且检查i+l是否>j若成立,则直接YES并且return 0,反之找不到便输出NO。 #i
展开全文
星满天呦
发表于 2026-02-20 09:36:53
题目题意: 小L有两个长度均为n的数组 a,b以及初始值为0的x。小L现在能操作n次,每一次可以在以下两个规则中任选一个来更新x的值。规则一:将x更新为max(0,x-a[i]);规则二:将x更新为x^b[i]。计算在操作n次后,x的最大值。 题目知识点: 动态规划 题目分析: 每一次操作都是从规则
展开全文
牛客532882412号
发表于 2026-02-14 09:56:43
核心思路 可开两个unordered_set数组,分别记录上一轮出现过的x即(这轮可用的x)和这轮新出现的x(下一轮将用到的),最后遍历最后一轮出现过的x,输出最大值即可。 代码如下 ```#include<bits/stdc++.h> using namespace std; #def
展开全文
wwww1__
发表于 2026-02-20 20:13:53
解题 因为数据范围不是很大,因此我们可以直接暴力,把每次不同的数据记录下来,,再比较; #include<iostream> int a[2200],b[2200]; int dp[2200][2200]; int main() { int n; std::cin>
展开全文
092325103陈鹏
发表于 2026-02-20 21:33:47
这道题,首先第一思路可能是把所有情况列出来,但一定会超时的,到最后会有2的2048次方的情况,我们1来看数据范围,bi小于等于2048,那么这些所有的情况一定是小于2048的,所以可以开一个2048的数组,把所以出现过的数字记录,另外要注意最近的一组数据要覆盖住旧的出现过的数字 #include &
展开全文
S曙G光
发表于 2026-02-20 23:47:02
题意: 小 L 初始数值 x 为 0,需对两个长度均为 n 的数组 A、B 依次执行 n 次操作,每次操作必须从两种规则中选其一:规则一是将 x 更新为 max (0, x−aᵢ)(aᵢ为数组 A 第 i 个元素),规则二是将 x 更新为 x⊕bᵢ(bᵢ为数组 B 第 i 个元素,⊕表示按位异或),
展开全文
查看本题
查看本题讨论
等你来战
查看全部
牛客挑战赛86
报名截止时间:2026-03-06 22:00
牛客周赛 Round 134
报名截止时间:2026-03-08 21:00
牛客练习赛149
报名截止时间:2026-03-13 21:30
【小羊肖恩】小羊杯 Round 3
报名截止时间:2026-03-15 18:00
牛客周赛 Round 135
报名截止时间:2026-03-15 21:00
牛客小白月赛130
报名截止时间:2026-03-20 21:00
CACPC - 环海岸线联盟联合校赛决赛(同步赛)
报名截止时间:2026-03-21 18:00
扫描二维码,关注牛客
意见反馈
下载牛客APP,随时随地刷题