NOIP 模拟 八十八

冲刺NOIP2021模拟21 按位或

观察到或运算要求每一位出现,那么显然容斥。

一个朴素的想法是装压枚举每一位保留与否。

但是实际上并不需要,题目要求是三的倍数,二进制下每一位模上3余数只有1,2。

那么我们只需要关心每一种位留几个便可以,然后乘上组合数。

至于如何计算3的倍数,用背包可以很简单的算出。

冲刺NOIP2021模拟21 最短路径

答案显然是虚数上的边长的二倍减去直径,统计次数即可。

对于边长每条边的概率就是两边都有饼干。

对于直径因为m很小,直接枚举判断即可,注意比较时要比较端点大小,可以默认小的优先,防止重复。

冲刺NOIP2021模拟21 仙人掌

转化题意为,每次可以选一个环或者一条边,然后覆盖整个点集。

仙人掌上 dp,即可。。。。。。。。。。。

冲刺NOIP2021模拟21 对弈

首先考虑策略。R 只会向右,B 只会向左。因为R 向左B可以跟上,然后局面未变,但是R活动范围小了,所以只会向右。B同理。

那么可以转化为取石子,个数便是间隔空隙。

先手必败的条件是二进制每一位一的个数被m+1整除。

然后可以dp,设f 为考虑前i位,石子总数为j的方案数,转移时枚举这一位选几个一,然后组合数分给哪个组。

最后统计答案需要类似于整数划分。

posted @ 2021-11-04 15:49  -zxb-  阅读(63)  评论(0编辑  收藏  举报