http://poj.org/problem?id=3539 给定一个电梯,可以上升a,b,c层和回到1层,给定楼高h,求可达层数 lyd讲的同余类BFS,方法是先把三个量压成两个,即把h%a,因为对于一个x∈{h%a},若x可达,则x+ak一定可达. 然后考虑在这个模a的剩余系中,b和c的情况. 从1开始连边,从点i连向(i+w)%a,代价为w,其中w为b或c. 意义就是,对于一个楼层x,从x到达最近x+w层的代价为w,这很显然. 从1开始做单源最短路,然后只需要统计dis小于等于h的,大于的…