LightOJ 1340 Story of Tomisu Ghost

原创 2015年11月19日 10:55:37

线性预处理出1~1e5的素数,nlogn的也可以

对于每组n,t,把n!质因数分解再贪心即可

还可以用下快速幂进行优化

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MAXN = 1e5;
const ll mod = 10000019;

bool is_prime[MAXN + 5];
vector<int> prime;

void get_prime()
{
    memset(is_prime, true, sizeof(is_prime));
    is_prime[0] = is_prime[1] = false;
    for(int i = 2; i <= MAXN; i++)
    {
        if(is_prime[i]) prime.push_back(i);
        for(int j = 0; j < prime.size() && i * prime[j] <= MAXN; j++)
        {
            is_prime[i * prime[j]] = false;
            if(i % prime[j] == 0) break;
        }
    }
}
ll fast_pow(ll x, int n)
{
    ll res = 1;
    while(n)
    {
        if(n & 1) res = (res * x) % mod;
        x = (x * x) % mod;
        n >>= 1;
    }
    return res;
}
int cnt(int n, int p)
{
    int res = 0;
    while(n)
        n /= p, res += n;
    return res;
}
ll solve(int n, int t)
{
    ll res = 1;
    for(int i = 0; i < prime.size(); i++)
    {
        int p = prime[i], num = cnt(n, p);
        if(num < t) break;
        res = (res * fast_pow(p, num / t)) % mod;
    }

    if(res == 1) return -1;
    return res;
}

int main()
{
    int T;
    scanf("%d", &T);
    get_prime();

    for(int ca = 1; ca <= T; ca++)
    {
        int n, t;
        scanf("%d%d", &n, &t);
        printf("Case %d: %lld\n", ca, solve(n, t));
    }
    return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

LightOJ 1340 - Story of Tomisu Ghost (求n!在b进制下末尾0)

题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1340题意:给你一个n,一个t,n!在b进制下末尾0的个数要大于等于t,求最大的...
  • helloiamclh
  • helloiamclh
  • 2016年05月16日 17:39
  • 269

HDU 4067(Random Maze) 最小费用流最大流

Random Maze Problem Description In the game “A Chinese Ghost Story”, there are many random mazes wh...
  • ZSGG_ACM
  • ZSGG_ACM
  • 2015年09月04日 19:08
  • 581

敏捷开发(agile)中story

agile概念的比较详细的说明见:http://www.cnblogs.com/astar/archive/2012/02/28/Scrum.html 对于敏捷开发来说,User Story是开发的...
  • u013102039
  • u013102039
  • 2014年02月07日 15:24
  • 2999

[置顶] 敏捷项目管理实战之在敏捷开发中引入 Story 演示

Story 演示活动可以帮助敏捷开发团队提高开发质量、降低返工带来的质量低下与进度滞后的可能性。本文以作者黄文海的实际敏捷开发与管理的经验为基础,分享了具体实施 Story 演示的注意要点以及如何控制...
  • viscent_huang
  • viscent_huang
  • 2015年11月18日 11:21
  • 500

划分用户故事(user-story)的原则

在敏捷开发过程中是通过用户故事来将需求具体化成可以进行迭代开发的一个个现实的可见的开发任务。因此在敏捷软件的开发过程中,用户故事的划分对于迭代和开发起着举足轻重的作用。 用户故事从其名字来看是站在用...
  • rxr1st
  • rxr1st
  • 2012年05月02日 21:53
  • 14367

Use Case 和User Story

       Use Case(用例)和User Story(用户故事)他们之间究竟有什么联系和区别,还是他们本身就是一个物种的两种不同叫法而已,究竟哪个好或是哪个不好,这些问题的讨论见诸于各大网络文...
  • lovingprince
  • lovingprince
  • 2009年12月01日 09:47
  • 3824

story的两种常见类型的拆分方法

介绍一下策略story的两种常见类型的拆分方法: (1)流程型 上面这种流程型的程序,可以这样来拆分: 如上图,按步骤来划分story key1:实现前面的步骤时,后面的步骤用一个...
  • kaka1121
  • kaka1121
  • 2012年04月01日 16:26
  • 2704

敏捷测试(3)--基于story的敏捷基础知识

基于story的敏捷基础知识----story编写 为什么使用Story? 软件行业40年多来,需求分析技术已经很成熟了,但是MRD驱动的过程不堪重负。因为往往MRD编写会占去很多时间,MRD评审又会...
  • kaka1121
  • kaka1121
  • 2014年01月13日 17:03
  • 2555

Scrum中story point的预估

一、什么是story pointStory point,翻译成中文即为故事点。 故事点是Scrum团队使用的一种随机度量方式,用来度量实现一个故事需要付出的工作量”,还可能是“故事点数的估算混合了对...
  • Hampton_Chen
  • Hampton_Chen
  • 2016年08月17日 11:23
  • 2918

敏捷测试(6)--基于story的敏捷基础知识

基于story的敏捷基础知识----需求管理(三) (3)每日站会 站会的目的有三个: (1)周知进度 仅从用户故事和任务的层面周知进度,任务进度只有两种状态:完成或未完成(完成百分比)。 (2)周...
  • kaka1121
  • kaka1121
  • 2014年01月16日 15:01
  • 2983
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LightOJ 1340 Story of Tomisu Ghost
举报原因:
原因补充:

(最多只允许输入30个字)