3.23模拟总结

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


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

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

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

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

 

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

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

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

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

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

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

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

3.区间修改问题

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

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

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

 

posted @ 2022-03-25 00:00  yinfelix  阅读(29)  评论(0)    收藏  举报