/*
题意:给你二个区间[a,b]和[c,d]
分别从中选一个数x和y使的(x+y)%p=m;
可以这样来求,先求出(0->b和0->d区间段的值)-(区间0->a-1和0->d的值)-(区间0->b和0->c-1的值)+(0->a-1和0->c-1)的值
而且发现有这样的规律对于连个区间的末端值a和b来说
当在0->a这个区间内有一个单调性,a->b-1这个区间内有单调性,b-(a+b-m)/p*p这个区间内有单调性
直接用等差数列计算即可
*/
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define ll __int64
ll p,m;
ll f(ll aa,ll bb)
{
if(aa<0||bb<0)return 0;
ll i;
if(aa>bb)
{
i=aa;
aa=bb;
bb=i;
}
i=0;
ll j=0;
ll sum=0;
i=(aa-m)/p;
if(i>=0&&aa>=m)
{
sum+=(m+1+i*p+m+1)*(i+1)/2;
i++;
}
else i=0;
// printf("i=%I64d\n",sum);
j=(bb-m)/p;
if((bb-m)%p==0)j--;
if(j>=i&&bb>=m)
{
sum+=(aa+1)*(j-i+1);
j++;
}
else
j=i;
// printf("j=%I64d\n",sum);
ll k=(aa+bb-m)/p;
if(k>=j&&aa+bb>=m)
{
// printf("%I64d %I64d\n",aa,bb);
sum+=(aa+bb+1)*(k-j+1);
// printf("k=%I64d\n",sum);
sum-=(j*p+m+k*p+m)*(k-j+1)/2;
}
// printf("%I64d\n",sum);
return sum;
}
ll gcd(ll a,ll b)
{
if(b==0)return a;
return gcd(b,a%b);
}
int main()
{
ll t,a,b,c,d,aa,bb,k=0;
scanf("%I64d",&t);
while(t--)
{
scanf("%I64d%I64d%I64d%I64d%I64d%I64d",&a,&b,&c,&d,&p,&m);
aa=f(b,d)-f(a-1,d)-f(b,c-1)+f(a-1,c-1);
if(aa==0)
{
printf("Case #%I64d: 0/1\n",++k);
continue;
}
bb=gcd(aa,(b-a+1)*(d-c+1));
printf("Case #%I64d: %I64d/%I64d\n",++k,aa/bb,(b-a+1)*(d-c+1)/bb);
}
return 0;
}

hdu 4790 数学的更多相关文章

  1. HDU 5984 数学期望

    对长为L的棒子随机取一点分割两部分,抛弃左边一部分,重复过程,直到长度小于d,问操作次数的期望. 区域赛的题,比较基础的概率论,我记得教材上有道很像的题,对1/len积分,$ln(L)-ln(d)+1 ...

  2. HDU 4790 Just Random 数学

    链接:pid=4790">http://acm.hdu.edu.cn/showproblem.php?pid=4790 意:从[a.b]中随机找出一个数字x,从[c.d]中随机找出一个 ...

  3. hdu 4790 Just Random (2013成都J题) 数学思路题 容斥

    题意:在[a,b]  [c,d] 之间,和模p等于m的对数 详见代码 #include <stdio.h> #include <algorithm> #include < ...

  4. hdu 4790 Just Random (思路+分类计算+数学)

    Problem Description Coach Pang and Uncle Yang both love numbers. Every morning they play a game with ...

  5. HDU 5976 数学,逆元

    1.HDU 5976 Detachment 2.题意:给一个正整数x,把x拆分成多个正整数的和,这些数不能有重复,要使这些数的积尽可能的大,输出积. 3.总结:首先我们要把数拆得尽可能小,这样积才会更 ...

  6. *HDU 2451 数学

    Simple Addition Expression Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Ja ...

  7. [ An Ac a Day ^_^ ] hdu 4565 数学推导+矩阵快速幂

    从今天开始就有各站网络赛了 今天是ccpc全国赛的网络赛 希望一切顺利 可以去一次吉大 希望还能去一次大连 题意: 很明确是让你求Sn=[a+sqrt(b)^n]%m 思路: 一开始以为是水题 暴力了 ...

  8. hdu 4506(数学,循环节+快速幂)

    小明系列故事——师兄帮帮忙 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Tot ...

  9. hdu 4432 数学杂题

    http://acm.hdu.edu.cn/showproblem.php?pid=4432 6分钟写的代码,一上午去调试,, 哎,一则题目没看懂就去写了,二则,哎,,恶心了.在坚持几天然后ACM退役 ...

随机推荐

  1. 机器学习概念之特征选择(Feature selection)之RFormula算法介绍

    不多说,直接上干货! RFormula算法介绍: RFormula通过R模型公式来选择列.支持R操作中的部分操作,包括‘~’, ‘.’, ‘:’, ‘+’以及‘-‘,基本操作如下: 1. ~分隔目标和 ...

  2. C#实现较为实用的SQLhelper

    第一次写博客,想不到写什么好b( ̄▽ ̄)d ,考虑的半天决定从sqlhelper开始,sqlhelper对程序员来说就像helloworld一样,很简单却又很重要,helloworld代表着程序员萌新 ...

  3. mvc不登录的情况下无法跳转至其他页面--解决方法之一

    在每个控制器里,加以下方法 /// <summary> /// 在调用视图之前拦截非法用户 /// </summary> /// <param name="fi ...

  4. CF963A Alternating Sum

    思路:利用周期性转化为等比数列求和. 注意当a != b的时候 bk * inv(ak) % (109 + 9)依然有可能等于1,不知道为什么. 实现: #include <bits/stdc+ ...

  5. viewport实现html页面动态缩放/meta viewport/viewport

    页面默认缩放比例为1,最小宽度为375px,在小于375px出现水平滚动条的时候重新计算显示比例缩小界面, <!DOCTYPE html> <html lang="en&q ...

  6. 如何正确理解关键字"with"与上下文管理器

    转自:https://foofish.net/with-and-context-manager.html 如果你有阅读源码的习惯,可能会看到一些优秀的代码经常出现带有 “with” 关键字的语句,它通 ...

  7. (转)Spring管理的Bean的生命周期

    http://blog.csdn.net/yerenyuan_pku/article/details/52834011 bean的初始化时机 前面讲解了Spring容器管理的bean的作用域.接着我们 ...

  8. 数据库管理系统X

    大部分DBMS提供数据定义语言DDL(Data Definition Language)和数据操作语言DML(Data Manipulation Language),供用户定义数据库的模式结构与权限约 ...

  9. Android Studio集成crashlytics后无法编译的问题

    http://blog.csdn.net/zhuobattle/article/details/50555393 问题描述: 在用fabric集成后编译出现如下错误, Error:Cause: hos ...

  10. pymysql遇到中文编码

    明明数据库里的编码方式和字符集都没有问题,用python插入数据时,数据库里的数据还是乱码的 在数据库中插入时,能够正常显示 那就是python导出的数据存在编码问题,代码如下: # coding: ...