摘要: 题意:bc 77 div1 1003(中文题面) 分析:先不考虑将结果乘以 1e6。 设 dp[i] 为从前 i 个格子的状态可以获得的最大破坏指数。 那么我们可以枚举每个炸弹,该炸弹向左延伸的距离和向又延伸的距离。 设第 i 个炸弹破坏区间为 [l, r], 则 dp[r] = dp[l - 1] 阅读全文
posted @ 2016-03-26 23:29 shuguangzw 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 分析:求一下组合数 首先,如果不止一个字符出现的次数为奇数,则结果为0。 否则,我们把每个字符出现次数除2,也就是考虑一半的情况。 那么结果就是这个可重复集合的排列数了。 fact(n)/fact(a_1)/fact(a_2)/..../fact(a_n)fact(n)/fact(a​1​​)/fa 阅读全文
posted @ 2016-03-26 22:02 shuguangzw 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 分析:这是一个连通性的问题。你会发现如果将所有操作逆序来看的话就很容易用并查集来处理了。 首先把所有的山峰都加到图中,然后逆序处理每个操作: 对某次操作,在图中删除该位置的山峰,然后判断两个点是否联通,一旦联通就得到了结果。 这里需要对China和India分别新建一个对应的节点。 #include 阅读全文
posted @ 2016-03-26 22:01 shuguangzw 阅读(373) 评论(0) 推荐(0) 编辑
摘要: 分析:对于每一层,原来n个点,然后扩展为原来的三倍,每一层扩展一个入点,一个出点,然后跑最短路 注:tmd我把一个n写成m了,然后wa了7次,我都要怀疑人生了 #include<cstdio> #include<cstring> #include<queue> #include<cstdlib> # 阅读全文
posted @ 2016-03-26 18:41 shuguangzw 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 分析:一看就是求最短路,然后用dij,果断错了一发,发现是3次方,有可能会出现负环 然后用spfa判负环,然后标记负环所有可达的点,被标记的点答案都是“?” #include<cstdio> #include<cstring> #include<queue> #include<cstdlib> #i 阅读全文
posted @ 2016-03-26 17:06 shuguangzw 阅读(141) 评论(0) 推荐(0) 编辑