动态规划
文章平均质量分 79
dp
四不相.之
。
展开
-
牛客-和与或
直到枚举至第二位,R0有1时,才能继续贡献,如果之前第5位的时候A0不贡献1,既A0=10000,那么当我们第四位取1时,A0由于。,当前位取1且受限制,则除自己继续保持受限制以外,其他位取1且受限制的全部变为不受限制。,当前位取1且不受限制,则当前位取1且受限制的全部变为不受限制。子任务1: n ...原创 2022-08-17 17:33:12 · 139 阅读 · 3 评论 -
牛客-美丽序列
主要的点就是-1在美丽序列定义的限制下会有多种可能,对dp[i][last][len][sum]造成的影响就是last、len、sum的不确定性,那就枚举last、len、sum的每一种情况来判断有多少种符合条件的美丽序列原创 2022-07-25 11:23:14 · 396 阅读 · 0 评论 -
牛客-牛牛的计算机内存
我们可以用一个二进制表示的数字来表示指令的执行状态,假设有5条指令,那就用一个长度为5的二进制数字存储指令的执行状态,数为xxxxx,从右往左数,如果当前位上为1表示第i条指令被执行过,反之则没有。则我们就可以用两个for循环嵌套,第一个枚举状态,第二个枚举指令,当发现状态和指令不匹配时,将执行指令后的代价与状态最小代价比较(状态为之前状态加上指令得来),获取最小的。用一个数组dp[i]来表示执行状态为i时的最小执行代价,mem[i]表示执行指令状态为i时已被访问的内存。子任务1n...原创 2022-07-23 17:04:32 · 1705 阅读 · 0 评论 -
牛客-codeforces
题目所要的最大值存在于dp[N][0]--dp[N][T]之中,最大值中一定存在dp[N][j]是时间刚刚好,可能存在dp[N][j']时间有多余,对这两种都按照时间刚刚好来处理,则第一种不受影响,第二种的值会减小,这种处理的好处是可以不用记录dp[i][j]其前i-1到题目的选择情况(一维数组同理)t1t2获得的分数:t1的分数-t1的时间*t1每分钟减少的分数+t2的分数-t2每分钟减少的分数*(t1的时间+t2的时间)=-t1的时间*t1每分钟减少的分数-t2每分钟减少的分数*t2的时间。...原创 2022-08-07 17:47:20 · 629 阅读 · 0 评论 -
牛客-被3整除的子序列
现在我们在后面加4变成数字串1234,它的所有子序列为1,2,3,12,13,23,123,14,24,34,,124,134,234,1234,我们将其和数字串123的子序列对比可以发现,1234的子序列在包含123的子序列的基础上,增加了在原来子序列后面加4和4的子序列,这意味着我们判断1234有多少个满足条件的子序列可以根据123的情况推出,如下。举一个例子,数字串123的所有子序列为1,2,3,12,13,23,123;4%3为1,则增加的新子序列满足条件的是由原来%3为2得到的。.........原创 2022-07-23 15:30:22 · 2049 阅读 · 0 评论 -
牛客-删括号
对表达式进行归类,相同的放在一起,总结得出如果后一个字符相等且k=0,那么dp[i+1][j+1][0]=true,如果s的后一个字符是左括号,那么dp[i+1][j][k+1]=true,如果都不满足,并且k!dp[ii][jj][kk]=(dp[i][j][k])&true;我们分情况讨论第一种情况,可以推出dp[i+1][j+1][k]=true或dp[i+1][j][k+1]=true;即最终的dp[s.len][t.len][0]是由dp[i][j][k]变化而来,dp[i][j][k]同理。..原创 2022-07-23 14:17:54 · 420 阅读 · 1 评论