约瑟夫问题的一些解法
约瑟夫问题:
有n个人,编号为$1..n$,从第1个人开始报数,报到m的人离开,求最后的幸存者。
算法1(Simple算法):
用队列模拟,可以算出每一次出队的人。
时间复杂度$O(nm)$
当n很小而m很大时,可以通过取膜将$O(nm)$优化为$O(n^2)$
有n个人,编号为$1..n$,从第1个人开始报数,报到m的人离开,求最后的幸存者。
用队列模拟,可以算出每一次出队的人。
时间复杂度$O(nm)$
当n很小而m很大时,可以通过取膜将$O(nm)$优化为$O(n^2)$
题意:维护一个数列$a_1...a_n$,有以下5种操作:
查询$a_x$的历史最大值
题面
一道ioi的交互题,但并不是那么难。
给定n个点,定义一个凸多边形包含点数s为:这个凸多边形覆盖的点数-这个凸多边形的角数(每一个角$<180°$)
设总点集为A。
这个凸多边形的分值为为:$2^s$
求由这n个点构成的所有凸多边形的分值和$mod 998244353$