AtCoder Beginner Contest 289


题目分析
n和m的数值小,直接二进制枚举即可,需要注意的是,需要取最低位的二进制的话,我们需要从0开始,这一点需要注意。
代码展示



思路分析
走楼梯,某些阶梯不能踩。有n种方式,一次可以登上 xi层。
问能不能从第 0层走到第 n层。
一眼就是方案数背包问题,设dp[i]示能否走到第 i层。转移枚举方式即可。由于方案数问题都是数值非常大,可以使用对1e9取余或者 |= ,不能使用+=(因为我试了会刚好溢出为0)而且据老师说,|的运算速度比+快40%,可以极大提升算法运行效率。这也就是为什么线段树是|=而不是+=的原因。
代码展示


题目分析
给定一张n个点m条边的无向图,点有红蓝两种颜色。
高橋从1号点出发,青木从 n号点出发。
每个时刻,两人同时移动至其相邻点,要求每次移动之后,两人所在点的颜色不同。
问两人能否同时抵达n号点和1号点,若能的话,输出最小耗时。
这题不会,借鉴的大佬代码,仅供观看。
