摘要: 【题意】 补丁在修正$BUG$时,有时也会引入新的$BUG$,假定有$n(n<=20)$个潜在$BUG$,和$m(m<=100)$个补丁,每个补丁用两个长度为$n$的字符串表示,其中字符串的每个位置表示一个$BUG$,第一个串表示打补丁之前的状态 (“-”表示该$BUG$必须不存在,“+”表示该补丁 阅读全文
posted @ 2019-07-03 19:56 hulean 阅读(412) 评论(0) 推荐(1) 编辑
摘要: 本题看似很难,实际上思路非常简单——如果你想通了。 首先有一个问题:图中有几个点?大部分的人会回答$n$个点。错了,有$n+1$个。 多出来的那个点在哪?关键在于你要理解每一个决策的意义。实际上,多出来的那个点是地下的天然矿泉水。当我们打井时,我们实际上是在往地下连边。理解了这一点,代码就没有任何难 阅读全文
posted @ 2019-07-03 19:56 hulean 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 【题意】 如果两个人互相打电话(直接或者间接),则说他们在同一个电话圈里。例如,$a$打给$b$,$b$打给$c$,$c$打给$d$,$d$打给$a$,则这四个人在同一个圈里;如果$e$打给$f$,而$f$不打给$e$,则不能推出$e$和$f$在同一个电话圈。输入$n(n≤25)$个人的$m$次电话 阅读全文
posted @ 2019-07-03 19:55 hulean 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 【题意】 输入一个$C$个点$S$条边 $(Cj k``使得 的总长度等于 与``k j k``, 和``k j i j``的最短路径。把刚才推理中“之和”与“取最小值”换成“取最小值”和“取最大值”,推理仍然适用 【代码】 cpp include using namespace std; int 阅读全文
posted @ 2019-07-03 19:54 hulean 阅读(461) 评论(0) 推荐(1) 编辑