祝贺f♂a国夺得世界杯冠军!
(和我有什么关系?我又没看)
好了,我们继续今天的学习。
不得不提一下,我今天学习效率超高,感觉很高兴,在这里提一下。
下面,日常先看信息学!
信息学
第一题:货车运输
没错,就是昨天那道题,我把它写好了:货车运输题解
下面我们复习一下二分答案。
第二题:跳石头
这题是个很经典的二分答案
思路也很简单,就是二分答案。
具体分析见:跳石头题解
二分答案,今天先看到这,明天再做一道二分答案的题。
下面我们来看看数学相关的知识点。
第三题:Hankson的趣味题
怎么讲呢?感觉这一题的难度给高了。
其实涉及的数学推理其实并不难,而且一旦数学推理结束,就是暴力枚举了,而且代码也短没什么难度。
所以我们就进行一下关键的数学分析。
我们要求x满足一下要求:
- (x,a0)=a1
- [x,b0]=b1
括号是什么意思,大家应该知道。
我们不妨设:
- x=m*a1
- a0=a*a1
- b1=n*x
- b1=b*b0
其中,m、a、n、b均为正整数。
分析条件1,可以得到(a,m)=1
分析条件2,可以得到(n,b)=1
再由我们设的式子可以得到:b1=m*n*a1
所以我们只要枚举m(因为m*n=b1/a1是一个定值),即可确定有多少个x。
因为x显然由m和n唯一确定,也就是两者一一对应(对应原理)
由m和n的乘积,我们知道b1/a1必须是个整数,所以我们可以判断一下,如果不是,直接输出0就行了。
接下来是枚举,由于数据比较大,我们可以采取每次枚举两对m和n,比如我们令up=b1/a1,枚举到i时,我们可以检验m=i、n=up/i和m=up/i、n=i,这样我们的i只需要枚举到i*i<=up即可,否则,如果你把i枚举到up,是会T的。
接下来,还要注意m==n的情况,不要重复计算。
所以,代码如下:
物理
今天看了带电粒子在电场中的运动,非常简单,还没有平时做的题难。
数学
简单看了集合中的最大和最小问题。
又看了不动点的问题,总结了几个方法:
- 通过对不动点的分析入手题目
- 利用不动点解方程
- 还有牛顿切线法解方程
- 不动点是某些题目
- 不动点还可以求函数的n次迭代的形式
还没看完,明天会继续探索。
总结
今天效率很高,明天加油,再把效率提高一层楼!