摘要:
"D. 站军姿" 参考: "随机在圆上生成n个点,这n个点在同一半圆的概率是多少?" 思路:直接利用公式,随机在圆上生成n个点,这n个点在同一半圆的概率是$\frac{n}{2^{n 1}}$ ,求逆元的时候直接用费马小定理即可 代码: cpp // Created by CAD on 2019/9 阅读全文
摘要:
"Fibonacci again and again" 参考: "SG函数和SG定理【详解】" 思路:这是比较简单的SG定理的运用,SG定理—— 游戏和的SG函数等于各个游戏SG函数的Nim和 如果一个位置 的SG值为0,那么这个点就为必败点 ,否则就是必胜点 必败点:用N表示 必胜点:用P表示 对 阅读全文
摘要:
巴比博弈 参考: "博弈论及算法实现" 只有一堆 个物品,两个人从轮流中取出 个,最后取光者胜。 考虑到 若 那么 第一个人不论如何取都不能取胜。 进一步我们发现 若 ,先取者拿走 个,那么后者再拿 个 ; 先取者再拿走 个 最后总能造成 剩下 的局面。 因此,此时先手有必赢策略。 相对应的,若 那 阅读全文
摘要:
"火烧赤壁" 隔了一天再来理解就想对来说舒服多了,也不知道是不是因为昨天太忙了没有专心.... 参考: "火烧赤壁 题解" "火烧赤壁题解" 思路:首先必须要明白一点,这道题需要将船只的位置标记出来,但是看到数据为 就可以知道,很明显直接用一个数组来储存是不可能的。但是因为数据的个数不多,所以我们就 阅读全文
摘要:
暑假还有两天 总之,感觉这个暑假还是过得挺充实的吧,从6月底考完期末就一直在学校没有回家,唉,越是回不了家,才越感受到回家的弥足珍贵吧。 上个寒假划了一寒假的水,现在想来真的很后悔,前几天偶然间翻到 学姐在寒假集训的时候给我们做的 ,才发现自己错过了很多学习的机会,其实很多自己在暑假不断在网上找、自 阅读全文
摘要:
关于 和`upper_bound()`: 参考: "关于lower_bound( )和upper_bound( )的常见用法" 注意:查找的数组必须要是排好序的。因为,它们查找的方式也是二分查找,所以,复杂度为 ①从小到大排序 :从数组的 位置到 位置二分查找 第一个大于或等于 的数字,找到并返回该 阅读全文
摘要:
"F. Remainder Problem" 这个其实并不难,只是看看考察有没有分块的思路 思路:用一个 来记录所有 中所有 的和,在查询的时候可以达到复杂度位O(1) 当然因为数据很大,不能够分很多块,而且也没有必要分很多块,因为如果在进行 操作的时候,如果 ,那么在数据范围内只有五个数满足条件, 阅读全文
摘要:
"E. XOR Guessing" 第一次做这种交互题,刚开始还看不懂,现在已经差不多可以理解了,清空缓存区用 1~100 1~100 (1~100) using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(0 阅读全文
摘要:
参考: "负数的位运算" "原码, 反码, 补码 详解" 一直都不是很懂负数的位运算,还有反码,补码,源码这些,总结一下 关于反码,补码,源码的定义看参考博客 在每一个二进制数中,最高位是用来表示它的符号的,负数为1,正数为0 原码 就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值 阅读全文
摘要:
"Number Of Permutations" 思路:利用容斥,首先所有可能的排列肯定是 ,然后可能会有三种 bad 的情况: ①第一个元素的排列是非递减 ②第二种是第二个元素的排列是非递减 ③这两个可能出现的重叠情况,意思就是说同时导致①②成立 这个时候我们利用容斥的思想,用 即可 我们把所有的 阅读全文