LightOJ 1325 Distributing Chocolates

原创 2015年11月19日 12:24:09

解高次同余方程:anb(modp)
用baby-step giant-step算法,以给力的方法遍历ak
复杂度logp

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int p = 100000007;

ll fast_pow(ll x, int n)
{
    ll res = 1;
    while(n)
    {
        if(n & 1) res = (res * x) % p;
        x = (x * x) % p;
        n >>= 1;
    }
    return res;
}
int solve(int a, int b)
{
    int m = ceil(sqrt(p));
    map<int,int> M;
    ll mid = 1;
    for(int i = 0; i < m; i++)
        M[mid] = i, mid = (mid * a) % p;
    ll t = fast_pow(fast_pow(a, p - 2), m);
    for(int i = 0; i < m; i++)
    {
        if(M.find(b) != M.end()) return i * m + M[b];
        b = (b * t) % p;
    }
}

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

    for(int ca = 1; ca <= T; ca++)
    {
        int k, res;
        scanf("%d%d", &k, &res);
        printf("Case %d: %d\n", ca, solve(k, res));
    }
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

UVa:10590 Boxes of Chocolates Again

这也是个整数划分的问题。数据量只有5000,O(n^2)的方法看似能行,但是由于用到大数,所以除非大数效率比较高,否则很难过掉。 有了上个题的经验,用f[n]=∑(-1)^(k-1)*(f[n-k*...
  • kkkwjx
  • kkkwjx
  • 2014年02月27日 19:52
  • 834

Hackerearth.com编程问题解题思路系列:Roy's Chocolates

问题描述: 设从1至n编号的n人围成一圈,给出序号M[i]的m人是被标记的,从序号为b的人开始,每过s人答一声“到”。要求找出这样的b和s,使得被标记的m人全部都答过一声“到”,而没有被标记过的人不...
  • idead
  • idead
  • 2015年12月30日 21:50
  • 141

codeforces 496 e Distributing Parts

题目链接 点击打开链接 题意:给出n个任务(a1,b1),(a2,b2),...,(an,bn),给出m个人(c1,d1,k1),(c2,d2,k2),...,(cn,dn,kn),只有c 限制: 0...
  • whai362
  • whai362
  • 2014年12月23日 09:11
  • 499

暑期集训—day1—hdu 4190— Distributing Ballot Boxes—二分,优先队列

槽点有点多。。。论一上午怎么给小白讲完高精度加减乘除以及二分。。一股绝望的气息扑面而来 四道题   1~3分别是高精度加乘除   不贴了(高精度加法刚开始被我写坏了我会说?) 直接第四题吧 ...

HDU-4190-Distributing Ballot Boxes

 Distributing Ballot Boxes Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768...

【codeforces 496E】Distributing Parts

【题目链接】:http://codeforces.com/contest/496/problem/E【题意】 给你n个歌曲; 每个歌曲有一个需要声音的区间li,ri; 然后给你m个人; 每...

codeforces 496E Distributing Parts(贪心)

题目链接 Distributing Parts time limit per test 2 seconds memory limit per test 256 megaby...

hdu4190 Distributing Ballot Boxes(二分答案)

Problem Description Today, besides SWERC'11, another important event is taking place in Spain which ...

codeforces 496e Distributing Parts 贪心

题意: 现在有n个曲子,每个曲子的范围为ai~bi。有m个演奏家,每个演奏家的范围为ci~di,并且可以出演次数为ki次。 如果ci 让你找出合理的方案使得所有曲子都能被演奏,无方案输出“NO”...

valentino chocolates

  • 2011年05月19日 18:16
  • 114KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LightOJ 1325 Distributing Chocolates
举报原因:
原因补充:

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