洛谷P1311 选择客栈

题目:https://www.luogu.org/problemnew/show/P1311

分析:

做法1:朴素模拟。考虑到此题有可模拟性,所以我们可以枚举i,j,分别为第一个人住i和第二个人住j的情况,然后再枚举k,k即为两者中间的点,判断是否有value<=p的情况就可以了。

但是这样显然不行,期望得分:20~60.

实际得分:我们只是在练习,是不要部分分的

做法2:有技巧的运用一些与组合数有关的知识。
考虑咖啡馆的每个地方所代表的方案,发现我们可以从这里突破。在读入时把每一个点如果<p,就记录依次存入一个专用的数组,否则不做处理。然后这样的问题就变成了求出这个数组中每两个数所代表的编号之间的这一部分是否存在两个相同色调的旅馆,cn2c^2_n即可。然后我们最开始可以求出所有两两颜色相同的旅馆,最后一减就是答案喽!

代码


posted @ 2018-10-24 20:08  ShineEternal  阅读(75)  评论(0编辑  收藏  举报