2021.01.15【NOIP提高B组】总结

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

T1 开车旅行

题目大意:有两个人,他们去旅行,轮流开车。两个人都有不同的喜好,第一个人喜欢开到东边第二近的城市,第二个人喜欢开到第一个。需要回答两个问题:1. 给定行驶路程,求从哪里开始,两个人的路程比最小;2. 给定行驶路程和开始城市,求路程比。
思路:

  1. 预处理出每个城市第一、二近的城市,然后暴力跑一遍第一问,再暴力跑第二问。
    时间复杂度: O ( n 2 ) O(n^2) O(n2)
  2. 通过排序+链表,将预处理降到 O ( n l o g n ) O(nlogn) O(nlogn),然后倍增跑第一问和第二问。
    时间复杂度: O ( n l o g n ) O(nlogn) O(nlogn)
T2 同余方程

题目:求 a x ≡ 1 ( m o d ax≡1 (mod ax1(mod b ) b) b) x x x的最小正整数解,保证一定有解。
思路:
a x ≡ 1 ( m o d ax≡1 (mod ax1(mod b ) b) b)
a x ≡ b y + 1 ax≡by+1 axby+1
a x − b y = 1 ax-by=1 axby=1
y y y为负数时, a x + b y = 1 ax+by=1 ax+by=1
又因为 a a a m o d mod mod b = 1 b=1 b=1
所以 g c d ( a , b ) = 1 gcd(a,b)=1 gcd(a,b)=1
所以 a x + b y = g c d ( a , b ) ax+by=gcd(a,b) ax+by=gcd(a,b)
详见 扩 展 欧 几 里 得 算 法 扩展欧几里得算法

T3 借教室

题目大意:给你 n n n个数,每次选一个区间减掉同一个数,求是否会出现负数。如果会,输出 − 1 -1 1和出现负数的时间;如果不会,输出 0 0 0
思路:

  1. 线段树模板,维护区间最小值,注意 卡常
  2. 差分+二分
T4 疫情控制

题目大意:给你一棵树,有些节点有军队,现在要让军队看管所有叶节点(根节点无法到达),但不能在根节点停留。求最少时间。
思路:
二分+倍增+贪心


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值