- 博客(7)
- 收藏
- 关注
原创 拦截导弹--最长上升子序列
所以我们可以猜想如果将该h值插入到最后一个元素最接近h值的子序列中才可以最大化节省空间,即使得总子序列个数最少。猜想存在,开始证明贪心:还是看那个重点--
2024-01-03 22:37:38
679
1
原创 Codeforces round 918(Div.4) (C--G)
显而易见,C题问的就是所有方块大小之和是不是平方数。所以只要定义一个函数来判断一个数是不是平方数就行,因为这道题时间限制够,我一开始用暴力枚举1--根号x的整数也AC了。不幸的是一早起来发现被HACK了,就换二分查来找到最靠近根号x的整数的数字了。上代码:ll l=1,r=x;int t;cin>>t;int n;cin>>n;ll sum=0;ll a;cin>>a;sum+=a;return 0;
2023-12-29 11:44:10
1443
原创 刺杀大使 P1902
而且这道题是进入一个迷阵,可以将其看为二维数组,则可以把行进路线看作从第一行走到第n行的所有情况,所以我们可以用dfs来爆搜所有行进情况,以st数组来判断走过的房间,用flag判断能否在只受当前二分答案的伤害值的情况下走出迷阵。//如果走完了且受到的伤害小于anx,则flag=true。
2023-12-28 21:07:59
479
1
原创 DFS--八皇后问题(n皇后问题)
因此我们可以通过列举每一行皇后的位置情况来模拟八皇后问题,当我们列举下一行皇后情况时,她的情况是取决于先前行的皇后摆放情况的,所以只要循环一行上的所有位置再通过DFS(优先深度搜索)来判定其他行的皇后情况即可。//注意DFS的核心思想是回溯,在列举完每一行的一种情况后,应该将dfs过程中修改的值回溯到原来状态,否则会影响一行的下一种情况,同时由于循环的变化性,情况是不会重复的。//分别代表列,与两条对角线(由于是循环每一行,所以一行只有一个皇后,无需再开关于行的bool数组)dg[i+y]&&!
2023-12-28 20:43:16
518
原创 状态压缩DP--蒙德里安的梦想
对于第二个预处理,我们必须使横着的1x2小长方形互相分离,不能有重叠部分,因此我们需要用到状态压缩DP中的状态函数来模拟所有横1x2小长方形的摆放情况,我们设f[a][b]意为前a-1列已经填充完毕情况下第a列的情况(将该情况记为b)所对应的方案数量。首先蒙德里安问题是求解所有横竖1x2小长方形的摆放情况个数,显然当我们摆放完横着的小长方形之后,竖着的小长方形的摆放情况唯一,即只需要求出摆放横小长方形的合法方案数即可。if((j&k)==0&&st[j|k]) //即j,k不重叠且0个数不为奇数。
2023-12-28 20:05:51
962
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅