题目大意
给定两个长度为 n 的 01 字符串 a、b,以及 m 次区间操作。每次操作可以选择是否交换区间 [l,r] 内 a 与 b 对应位置的字符。目标是经过若干选择后,使最终得到的 a 的字典序尽可能小,输出最小的结果字符串。
https://class.luogu.com.cn/classroom/LGR197
比赛的时候暴力法打了20分,record:
https://www.luogu.com.cn/record/179510631
前面暴力没搞对是发现是有个双重循环写错了
1 |
|
给定两个长度为 n 的 01 字符串 a、b,以及 m 次区间操作。每次操作可以选择是否交换区间 [l,r] 内 a 与 b 对应位置的字符。目标是经过若干选择后,使最终得到的 a 的字典序尽可能小,输出最小的结果字符串。
https://class.luogu.com.cn/classroom/LGR197
比赛的时候暴力法打了20分,record:
https://www.luogu.com.cn/record/179510631
前面暴力没搞对是发现是有个双重循环写错了
1 | #include <iostream> |
1 | #include <iostream> |
1 | 41 |
有 n 个大小不同的圆盘(编号 1simn,编号越大盘越大),初始时它们以任意方式套叠在三根柱子 A,B,C 上(输入给出每根柱子从上到下的圆盘编号;用 0 表示空)。
同样给出一个目标状态。要求在满足:
每次只能移动一个圆盘
不能把大盘放在小盘上
的前提下,用最少步数把初始状态变到目标状态。
输出每一步操作 move I from P to Q,最后输出最少步数。
63pts, 期待以后的自己
1 | #include <iostream> |
这篇笔记对应的是「set 自定义 cmp 排序」:讲的是在 C++ 里如何为 set(以及类似容器)自定义比较器 cmp,从而改变元素的排序规则(例如从大到小排序),以及与默认比较方式的区别。
1 | #include <iostream> |
1 | 4 |
优先队列的比较符号是反的,解释详情见
https://www.nowcoder.com/discuss/353157988535967744
1 | #include <iostream> |
1 | 1 1 |
Wine 如何打开devcpp
wine “/Users/zzy/.wine/drive_c/Program Files (x86)/Dev-Cpp/devcpp.exe”