[搜索 meet in the middle+哈希] ProjectEuler 598. Split Divisibilities
搜索题。直接暴力枚举每个质数取几个。我们要判断一些数乘除最后是否等于1,这个不太好直接做。所以就给每个质数哈希一个值,把乘除变成加减,就好搞了。
需要 meet in middle ,开个hashmap记一下。
还是不够快。注意到后面有较多的指数只有1的质数。他只会对分子或分母贡献2,可以组合数算。
这样 n=100n=100 就可以 5s+ 左右跑出来了。#include<cstdio>
#
原创
2017-10-10 14:46:54 ·
398 阅读 ·
0 评论