`
linx_bupt
  • 浏览: 15902 次
  • 来自: 北京
社区版块
存档分类
最新评论

POJ_1006_Biorhythms分析

 
阅读更多

POJ_1006_Biorhythms分析

每个人都有自己体力、感情和智力上的大姨妈。周期分别为23天,28天和33天。如果我在第10天来了体力大姨妈,在第11天来了感情大姨妈,在第12天来了智力大姨妈,请问,我下一次三个大姨妈一起来(爽歪歪了吧,没准还四个大姨妈一起来 )是在哪一天?然后这道题目还要求从给定的如期开始算还需要多少天,其实不影响。

其实这是一道解方程的题。

已知体力、感情、智力大姨妈来的时候分别在第a,b,c天,他们各自经过了Ta,Tb,Tc个周期,最后一起来的时候是第S天,则:

S = a + Ta * 23 = b + Tb * 28 = c + Tc * 33

求满足条件最小的S。

这题的最优解网上可以搜出一大堆,但我最直观的解法是:

设定Tc为变量,Ta和Tb为因变量。这样求得最小的S需要最多的迭代次数为23 * 28次,计算量可以接受。

这道题有一个小小的可以优化的地方:如果a = b = c,那么方程为齐次的,最小的S为三个周期的最小公倍数,可以减小计算量。

另外,如果求得的S为0,那么下一次来三体合一的大姨妈就是今天,合理吗?所以这个就要计算再下一次三体合一的时间啦,没注意这一点,很可能就被POJ判决为Wrong Answer了

代码没什么难点,就不给出了

0
0
分享到:
评论

相关推荐

    POJ1006-Biorhythms【中国剩余定理】

    《POJ1006-Biorhythms:深入解析与应用中国剩余定理》 在计算机编程领域,解决算法问题是我们提升技术能力的重要途径。POJ1006-Biorhythms是一个典型的算法挑战,它引入了数学中的一个重要概念——中国剩余定理。...

    poj 1006 Biorhythms 生理周期

    Biorhythms Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 53539 Accepted: 15282 Description Some people believe that there are three cycles in a person's life that start the day he or ...

    Poj1006题目ac代码

    标题"Poj1006题目ac代码"表明我们要讨论的是一个与编程竞赛相关的主题,具体是POJ(Programming Online Judge)平台上的问题1006。POJ是北京大学主办的一个在线编程竞赛系统,ACM(Association for Computing ...

    北京大学poj题目类型分类

    * 1025 Biorhythms:这是一个动态规划题目,要求学习者编写一个程序来计算生物节律。 计算几何 计算几何是POJ题目中的一种重要题型,通常涉及计算几何算法的应用,如计算点的位置、计算多边形的面积等。这些题目...

    POJ分类题(按照算法分类)

    7. 1005Biorhythms:涉及生物节律的计算,可能是周期性问题。 8. 1007DNASorting:该问题可能需要使用算法对DNA序列进行排序。 9. 1032Parliament:该题目可能是模拟议会投票或分配问题。 10. 1045BodePlot:这...

    POJ题目分类-题库分类

    POJ(Problemset Online Judge)是一个在线编程竞赛平台,提供了大量的编程题目供参赛者练习和比赛。这个平台上的题目按照不同的主题和难度进行了分类,帮助参赛者有针对性地提高编程技能和算法理解。以下是一些主要...

Global site tag (gtag.js) - Google Analytics