3.23模拟总结
这次模拟结果上来说不太满意,但是过程还是比较满意的,找到了全神贯注研究题的感觉。
1.给定一个矩阵,当然他有许多小矩阵,要求输出所有带1的矩阵数量和不带0的矩阵数量。
方法就是转换,
子矩阵中全是0和全是1的矩阵数量分别计算即可,对于32位2进制数,与其相差的只是数位的多少,分别计算即可。
我思考方向是搜索加动态规划,其实是没有从反面考虑,导致没做出。
另外也要注意O(n^2)的时间允许,可以思路先从枚举打开。
2.有n对敌对关系,敌对的2人不能在同一组,去除其中某1对敌对关系可以使所有人分成2个组。
这个题是一个无向联通图问题,首先想到了枚举去掉边并黑白染色的方法,但这显然过不了全部。
看了题解才知道这样的理解浅显一些。
题解的意思:做出原图一棵生成树
每个边加入时,形成奇环不合法偶环合法
记录不合法边总数并分类讨论。
奇偶不同的原因就和黑白交替染色相同,但构造树的好处是用权记录覆盖边的合法性,On即可完成。
3.区间修改问题
这个是线段树问题,前提是先要会打线段树!
(这个。。熟悉还是要一步步来,现在我还能力不够)
不过我过程中研究了怎么优化算法,怎么预处理(虽然不是答案的方法),这段思考可以说是很好的进步。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通