这道题比赛中没做出来,赛后搞了好久才出来的,严重暴露的我薄弱的数学功底,

这道题要推公式的,,,有类似于1*a+2*a^2+3*a^3+...+n*a^n的数列求和。

最后画了一张纸才把最后的结果推出来。::(x*M^x)/N.

而且通过这道题我发现有些数学函数还不如直接循环来的快,

例如这道题中求x的值的时候。

【我在此收回前面的话,昨天是oj的问题,今天我又交了一遍log的代码,耗时变成了0ms了。。。OMG】

方法一:

int x = int(log(n)/log(m)+0.5);

        if(_pow(m,x)<n) x += 1;

耗时15ms

方法二:

int x;

        for(x = 1; ; ++x)

            if(_pow(m,x)>=n)

                break;

耗时0ms



代码如下:

#include <cstdio>
#include <cstring>
#include <cmath>
#include <cstdlib>
#include <queue>
#include <stack>
#include <map>
#include <vector>
#include <algorithm> #define LL long long
#define M 10005
#define N 15 using namespace std; int n, m;
LL _pow(LL a, LL b)
{
if(b==0) return 1;
LL ans = _pow(a,b/2);
if(b&1) return ans*ans*a;
else return ans*ans;
}
LL gcd(LL a, LL b)
{
return b==0?a:gcd(b,a%b);
}
int main ()
{
int t, k = 0;
scanf("%d",&t);
while(t--)
{
scanf("%d%d", &n, &m);
int x;
for(x = 1; ; ++x)
if(_pow(m,x)>=n)
break;
LL a = _pow(m,x)*x;
LL b = n;
LL g = a>b?gcd(a,b):gcd(b,a);
printf("Case %d: %I64d/%I64d\n", ++k, a/g, b/g);
}
return 0;
}

hdu - 3959 Board Game Dice(数学)的更多相关文章

  1. HDU 5955 Guessing the Dice Roll

    HDU 5955 Guessing the Dice Roll 2016 ACM/ICPC 亚洲区沈阳站 题意 有\(N\le 10\)个人,每个猜一个长度为\(L \le 10\)的由\(1-6\) ...

  2. hdu 5955 Guessing the Dice Roll 【AC自动机+高斯消元】

    hdu 5955 Guessing the Dice Roll [AC自动机+高斯消元] 题意:给出 n≤10 个长为 L≤10 的串,每次丢一个骰子,先出现的串赢,问获胜概率. 题解:裸的AC自动机 ...

  3. HDU 4586 Play the Dice(数学期望)

    Play the Dice Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Tot ...

  4. HDU 4586 Play the Dice (数学,概率,等比公式,极限)

    题意:给你一个n面的骰子每个面有一个值,然后其中有不同值代表你能获得的钱,然后有m个特殊的面,当你骰到这一面的时候可以获得一个新的机会 问你能得到钱的期望. 析: 骰第一次     sum/n 骰第二 ...

  5. HDU 5902 GCD is Funny 数学

    GCD is Funny 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5902 Description Alex has invented a ne ...

  6. 2017"百度之星"程序设计大赛 - 复赛1003&&HDU 6146 Pokémon GO【数学,递推,dp】

    Pokémon GO Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  7. HDU 5810 Balls and Boxes 数学

    Balls and Boxes 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5810 Description Mr. Chopsticks is i ...

  8. hdu 1577 WisKey的眼神 (数学几何)

    WisKey的眼神 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  9. hdu 4586 Play the Dice 概率推导题

    A - Play the DiceTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/ ...

随机推荐

  1. 【JavaScript】常用方法

    Jquery选择器参考:http://www.w3school.com.cn/jquery/jquery_selectors.asp 获取class="a"元素点击: $(&quo ...

  2. 【转】提高VR渲染速度的最好方法(经典转载)

    VR的基本渲染方法掌握起来并不难,但是最迫切需要解决的问题是VR的出图速度问题.动则需要数小时的渲染时间真的是很难以接受,我们从三个影响速度的参数结合网上一些高手的教程来分析一下. 一.Irradia ...

  3. 学习java第7天

    关于继承还需要留意的是,子类中的所有构造方法都默认访问父类的无参构造,注意是无参,而且是必须的,如果父类没有无参子类就会报错.如果你不想给父类无参构造,那么在子类中加上super(),显式的调用有参构 ...

  4. Eclipse 和 HSQLDB: 将关系数据库服务器嵌入到 Eclipse 中,第 2 部分

    HSQLDB 开发者角色 对 HSQLDB 与 Eclipse 工作台的集成感兴趣的开发者可以很容易地被分为两类: 客户机开发者,他们只是用 HSQLDB 来存储数据. 引擎开发者,他们通过添加新的标 ...

  5. JSP调用JAVA方法小例子

    用JAVA编写的函数 package doc; //定义一个包 public class Dy { //定义一个类 public static int Sub(int x,int y){ //定义函数 ...

  6. 多媒体(4):JPEG图像压缩编码

    (重要的事放前面)此JPEG的C++实现见 https://github.com/chencjGene/SoftEngineering/tree/master/JPEG 目录 多媒体(1):MCI接口 ...

  7. Android,配置Activity为启动Activity(AndroidManifest.xml,application,intent-filter,MAIN,LAUNCHER)

    备忘: 将Activity注册为启动Activity. 在AndroidManifest.xml中的<application>元素中加入以下<activity>子元素内容: & ...

  8. DropDownList怎样动态绑定数据库中的某一条数据

    用Ajax动态绑定数据库的数据:点击后台查看代码,编写代码如下 if (!IsPostBack) { using (SnailTechDataContext con = new SnailTechDa ...

  9. jquery 找不到live方法解决

    http://stackoverflow.com/questions/15573645/typeerror-live-is-not-a-function

  10. Erlang 从入门到精通(一) 下载安装

    我的电脑配置: 系统:win8.1  x64 内存:16G 在官网下载http://www.erlang.org/