2021.01.25【NOIP提高B组】总结

这是一个好东西->作者主页

T1 组合数问题

题目大意:让你求对于每一个 n n n m m m,满足 0 ≤ i ≤ n , 0 ≤ j ≤ m i n ( i , m ) 0\leq i \leq n,0\leq j \leq min(i,m) 0in,0jmin(i,m)的组合数中有多少个是 k k k的倍数。
思路:
因为是 k k k的倍数,所以 m o d mod mod k = 0 k=0 k=0
n , m n,m n,m很小,我们可以先预处理出所有的 C n m C^{m}_n Cnm,然后套一个二维前缀和 s u m sum sum
最后输出 s u m n + 1 , m + 1 sum_{n+1,m+1} sumn+1,m+1就行了。

T2 奶酪

题目大意:在一个三维空间有一个奶酪,还有一堆洞。每一个洞可能相连,有可能连接奶酪的底部,也有可能连接奶酪的上面。求能否从底部经过任意多个洞到达顶部。
思路:首先暴力对每一对洞进行连边,然后暴力跑一遍 b f s bfs bfs d f s dfs dfs、并查集或最短路的任意一种,最后判断即可。

T3 愤怒的小鸟

题目大意:有 n n n只小猪,每一只小猪有一个坐标。现在可以从原点发射一只小鸟,经过的坐标为一个二次函数。求最少发射多少只小鸟才能击中全部的猪。
思路&过程:

  1. 对每两只小猪求一遍二次函数,用一元二次方程求解
  2. 记录每一对方程的解可以击中哪些猪
  3. d p s dp_{s} dps表示状态为 s s s时最少发射的小鸟数量
  4. 枚举二进制状态 s s s,表示当前击中了哪些小猪
  5. 枚举所有解
  6. 暴力转移
  7. 输出 d p ( 1 < < n ) − 1 dp_{(1<<n)-1} dp(1<<n)1

提示:注意初始化和精度

T4 填数游戏

题目大意:有一个 n ∗ m n*m nm的矩阵,可以从 ( 1 , 1 ) (1,1) (1,1)出发到 ( n , m ) (n,m) (n,m)。每一个格子可以填 1 1 1 0 0 0,但需要保证:对于一个字典序较小的序列,它的 01 01 01序列必须比字典序较大的 01 01 01序列要大。求方案总数 m o d mod mod 1 e 9 + 7 1e9+7 1e9+7
思路:

  1. d p dp dp b y by by林奆)
  2. 打表找出 8 ∗ 8 8*8 88的所有解,然后找规律: n < m n<m n<m时, s ( n , m ) = 3 ∗ s ( n , m − 1 ) s(n,m)=3*s(n,m-1) s(n,m)=3s(n,m1)

完成情况
  • T1
  • T2
  • T3
  • T4
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值