第九周总结

       这周看了一下专题里面的分类,一开始还是没有决定细研哪一个,就每一个专题的博客看了几篇,然后看了一下入门题,看了之后比较偏数论和dp,但数论与数学关联性很大,而我的数学思维和举一反三能力还需要一个很大的锻炼,所以也会有许多困难,看着题解拿几个题练了一下, 有很多函数或定理理解起来也是有些难度,以我学数学的经验来看,这些很需要题的磨练和对函数定理的钻研。

DP:

1、午餐   P2577 [ZJOI2004]午餐 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

题意:n个人每个人有一个打饭时间和吃饭时间,将他们分成两个队伍。每个人打到饭之后就马上去吃饭。问怎么安排可以让总体的吃饭时间最短。

        某个队伍的总吃饭时间实际上是打饭结束+吃饭时间最晚的那个时间。首先,我们假设只有一个窗口的时候怎么排序是最优的,这里有一个重要的发现就是:当把学生的吃饭时间从大到小排序后再安排学生以这个顺序打饭是最优的。有了这一个重要的发现后,我们可以排序,在排序后那么怎么把学生在两个窗口之间分配呢?我们可以给学生排在一号窗口或者排在二号窗口。其中dp[i][j]表示当前已经有i个人,在一号窗口排队时间(注意不包含吃饭时间)累计为j的时候最短的最后一个吃完饭的学生的时间。ti[i].first代表第i个学生的吃饭时间,ti[i].second代表第i个学生的打饭时间。sum[i]表示到第i个学生的打饭总时间。

数论:

2、机器人走方格:M * N的方格,一个机器人从左上走到右下,只能向右或向下走。有多少种不同的走法?由于方法数量可能很大,只需要输出Mod 10^9 + 7的结果。

       这个题主要用到了费马小定理,但是要用到排列组合,机器人只能往右走m-1步和向下走n-1步,所以机器人一共要走m+n-2步,能有多少种走法就是在于什么时候向下走,或者什么时候向右走,所以多少种走法就是在m+n-2里面选m-1或者n-1,求一个就可以,费马小定理:如果p是一个质数,而整数a不是p的倍数,则有a^(p-1)≡1(mod p).

3、GCD 最大公约数

      欧拉函数, gcd(x,n)>=m,就是找比m大但是小于n的并且两数的公因数大于m的。可以转化为,等式两边同时除以一个因数,这样右边就是一个小于等于1的数,只要找到除以比m大的因数的,然后n在除以这个数,这样转化为gcd(n/i,i)>=1;但是注意正好i*i等于n的情况,这样只能算一次。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值