- 博客(4)
- 收藏
- 关注
原创 题目分享 洛谷P4310 “绝世好题” 动态规划
于是不难发现,对第i个数的所有非0位j,我们需要记下dp[j]+1的最大值并将其赋值给所有dp[j],这样第i+1位数的第j位也为1的情况就不会被遗漏。第0位为1,第1位也为1,可如果直接令dp[0]=dp[0]+1,dp[1]=dp[1]+1 那在第6位的时候就会出错,因为此时显然dp[1]=4。对于位运算,可以考虑以位数为状态数,即dp[i]表示转移的最后一个数的第i位为1 的最大子序列长度。上例,前4个数完成转移后,dp[0] = 2, dp[1] = 1。取下标 3,4,5,6 即为答案。
2025-10-17 08:00:00
621
原创 Codeforces 2153 B Bitwise Reversion题目解析
同样单独考虑每一位二进制位,将每一位满足条件的数量乘起来即可,注意若不满足条件则答案清零。给定3个非负整数x,y,z,求是否存在3个非负整数a,b,c满足。注意到a,b,c的每一个二进制位互不影响,因此我们考虑1位的情况。不难发现只有0,1,1不满足条件,对每一位二进制位进行判断即可。题目改为:满足条件的a,b,c数量一共有多少。
2025-10-12 08:00:00
611
2
原创 Codeforces题目分享 gym103785 H
给定一个n长度的数组a,试确定n次操作,使得从左到右执行这n次操作后,能得到数组a。最后一次操作插入的数必定满足a[i] = i,于是在数组a剩余的数字中从右往左查找。因为若选择的不是最右边的,则最右边的以后都满足不了a[i]=i。若找到数字,则将a[i]删除并放入答案数组。我们发现正向构造数组较难,正难则反,思考最后一次操作。若没找到则直接输出"NO"令操作1为:将数字a插入到数组的a下标处。
2025-10-11 23:56:51
419
原创 Codeforces 2120 B Square Pool 题目解析
对球桌进行镜像,碰撞可以看作不受影响直接跑到镜像球桌上。又此题给出的发射角度只可能为与对角线同向,故简单判断是否在两条对角线上即可。给定一张台球桌的大小,袋口在4个角落,从一个点向指定的方向发球,小球碰到边界会发生如下弹性碰撞,问是否能进袋。
2025-10-10 18:55:46
220
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅