您的位置:首页 > 其它

第九周训练总结(二)

2017-10-29 20:56 218 查看
    数论的题目,连着看了好几个都没有思路,感觉题目和看的课件没多大联系。后来有同学建了个专门讨论数论题目的群,哪个题比较容易,有思路就会一起分享,才勉强做了两个。     

W题:

题意: 给出a,b两个数的最大公约数gcd 和 最小共倍数lcm, 现在要你求出a,b, 并且a是最小的. (a<=b);

解题思路:

1. 求最小共倍数的时候是: lcm(a,b) = (a*b)/gcd(a,b) ==> a*b = lcm(a,b)*gcd(a,b); 并且最小共倍数肯定是最大公约数的整数倍.

2. 即: a要是最小的, 那么最大公约数就是最小的, 最小共倍数就是b了.

V题:

大致的题意是:要求n的k次方,但是n和k非常大的时候没有办法去求(实际上可以模拟的,暂且不论),所以题目要求的数据只是n的k次方的前三位和后三位。

思路:用同余摸定理求出后三位,后来才发现前三位的求法才是卡人的地方,最终用double保存n的k次方,相当于缩小了一定倍数,比如,n的k次方等于344958……那么化成double就是0.344……然后取小数点后3位乘以1000即可。

周六练习赛:

B题:题意:选择最多的字母,使得这些字母都是不同的小写字母,并且它们在原串的位置之间没有大写字母。

思路:直接暴力,因为数据范围小,先枚举头和尾,然后在用bool数组来记录出现了那些小写字母。

数论的知识理解不深刻,做题找不到思路,还是要多看多思考。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: