摘要: 有一点小转化的题,在设计dp状态时还是有点费脑筋的。 地址。 依题意,首先可以知道肯定要扩展域的并查集(明摆着的嘛)。一个"好人"域,一个"坏人"域,每句话分两种情况考虑连边。假设是yes,同域连边,否则异域连边(经典模型嘛)。然后就是要考虑如何验证是否有$x$个好人$y$个坏人的唯一解存在。这取决 阅读全文
posted @ 2019-04-01 22:12 Ametsuji_akiya 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 大水题一道啊,几分钟切掉。 还是扩展域,每个点拆3个点,之间连边表示有关系(即捕食关系)。然后随便判定一下就好了,不难,毕竟NOI上古题目。 阅读全文
posted @ 2019-04-01 08:46 Ametsuji_akiya 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 地址 连通性判定问题。(具体参考lyd并查集专题该题的转化方法,反正我菜我没想出来)。转化后就是一个经典的并查集问题了。 带权:要求两点奇偶性不同,即连边权为1,否则为0,压缩路径时不断异或,可以通过0或1得到两点的关系。合并时解一个位运算的方程,可得一个根连向另一个根的权值,看code,就不细讲了 阅读全文
posted @ 2019-04-01 08:44 Ametsuji_akiya 阅读(151) 评论(0) 推荐(0) 编辑
摘要: $有a_{1}个1,a_{2}个2,...,a_{n}个n(n<=15,a_{n}<=5),求排成一列相邻位不相同的方案数。$ 关于这题的教训记录: 学会对于复杂的影响分开计,善于发现整体变化,用整体法(没错就是和物理那种差不多)。 推dp方程时怕边界问题不好处理时可以采用向前推的方法,就如$f[x 阅读全文
posted @ 2019-04-01 08:27 Ametsuji_akiya 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 没错我就是专门找对顶堆练习题的。现在感觉对顶堆使用面有点狭窄。这道题由于我询问是随时间单调增的,而且数据比较友好,应该是插入几次就询问一下的。而中位数那题也是经常询问的。如果查询的东西不单调,或者查询过少,对顶堆都会退化,可能一次维护就要$nlogn$,所以他只适用于经常询问单调增排名的问题。(←个 阅读全文
posted @ 2019-04-01 07:57 Ametsuji_akiya 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 由于我不会讲对顶堆,所以这里直接传上一个巨佬的学习笔记。 对顶堆其实还是很容易理解的,想这题的时候自己猜做法也能把没学过的对顶堆给想出来。后来了解,对顶堆主要还是动态的在线维护集合$K$大值。当然也可以带删除。但是可能退化,具体见另外一个题的说明。 像这题维护中位数就是要求第$N/2+1$大的数,所 阅读全文
posted @ 2019-04-01 07:26 Ametsuji_akiya 阅读(132) 评论(0) 推荐(0) 编辑