3.23模拟总结

这次模拟结果上来说不太满意,但是过程还是比较满意的,找到了全神贯注研究题的感觉。


1.给定一个矩阵,当然他有许多小矩阵,要求输出所有带1的矩阵数量和不带0的矩阵数量。

方法就是转换,
子矩阵中全是0和全是1的矩阵数量分别计算即可,对于32位2进制数,与其相差的只是数位的多少,分别计算即可。

我思考方向是搜索加动态规划,其实是没有从反面考虑,导致没做出。

另外也要注意O(n^2)的时间允许,可以思路先从枚举打开。

 

2.有n对敌对关系,敌对的2人不能在同一组,去除其中某1对敌对关系可以使所有人分成2个组。

这个题是一个无向联通图问题,首先想到了枚举去掉边并黑白染色的方法,但这显然过不了全部。

看了题解才知道这样的理解浅显一些。

题解的意思:做出原图一棵生成树

每个边加入时,形成奇环不合法偶环合法

记录不合法边总数并分类讨论。

奇偶不同的原因就和黑白交替染色相同,但构造树的好处是用权记录覆盖边的合法性,On即可完成。

3.区间修改问题

这个是线段树问题,前提是先要会打线段树!

(这个。。熟悉还是要一步步来,现在我还能力不够)

不过我过程中研究了怎么优化算法,怎么预处理(虽然不是答案的方法),这段思考可以说是很好的进步。

 

posted @   yinfelix  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示