题目背景

xht37 喜欢分块,以至于对一道不需要分块的题也要分块做。

题目描述

有一个长度为 nn 的序列,xht37 现在想分块维护它。

PinkRabbit 要求他只准将序列分成 PRPR 种长度的块。

NaCly_Fish 要求他只准将序列分成 NFNF 种长度的块。

同一个人可能会要求 xht37 多次相同的块长。

xht37 想同时满足 PinkRabbit 和 NaCly_Fish 要求,只好使用两个人都允许的长度分块。

xht37 想知道,有多少种不同的分块方案,答案对 10 ^ 9 + 7 取模。

输入格式

第一行一个正整数 nn,表示序列的长度。

第二行一个正整数 PRPR,表示 PinkRabbit 要求的分块长度的种类数。

第三行 PRPR 个正整数,表示 PinkRabbit 要求的 PRPR 种分块长度。

第四行一个正整数 NFNF,表示 NaCly_Fish 要求的分块长度的种类数。

第五行 NFNF 个正整数,表示 NaCly_Fish 要求的 NFNF 种分块长度。

输出格式

输出一行一个整数,表示不同分块方案的种类数对 10 ^ 9 + 7取模的值。

说明/提示

对于 100% 的数据,1<=a<=1e8 ,1<=b<=1e15


由上式可得(2x+2y+a)(2x−2y−a)=a^2-4b

然后设m=2x+2y+a,n=2x-2y-a可以对a^2-4b进行分类讨论

枚举n的值,判断是否满足条件

因为m>n必须成立,所以n<=sqrt(a^2-4b)

时间复杂度sqrt(a^2-4b)

#include<cmath>
#include<cstdio>
#include<iostream>
#define ll long long
#define int long long
using namespace std;
signed main(){
int a,b,ans=0;
scanf("%lld%lld",&a,&b);
if((a/2)*(a/2)==b&&!(a%2)){
puts("inf");
return 0;
}
ll k=a*a-4*b;
if(k>0){
ll k=a*a-4*b;
for(ll n=1;n*n<=k;n++){
int m=k/n;
if(k%n==0&&n+m>=2*a&&m>=n){
if((m-n)%4==0&&(n+m-2*a)%4==0){
ll x=(n+m-2*a)>>2,y=(m-n)>>2;
if(x>=0&&y>=0)ans++;
}
}
}
}
else{
ll k=4*b-a*a;
for(ll n=1;n*n<=k;n++){
int m=k/n;
if(k%n==0&&m>=n+2*a){
if((m-n-2*a)%4==0&&(n+m)%4==0){
ll x=(m-n-2*a)>>2,y=(n+m)>>2;
if(x>=0&&y>=0)ans++;
}
}
}
}
cout<<ans<<endl;
return 0;
}

luogu P5596 【XR-4】题的更多相关文章

  1. Luogu P2756 [网络流24题]飞行员配对方案问题_二分图匹配

    二分图模板题 我用的是匈牙利 其实最大流也可以做 #include<iostream> #include<cstdio> #include<cstdlib> #in ...

  2. 【题解】 Luogu P4145 上帝造题的七分钟2 / 花神游历各国

    原题传送门 这道题实际和GSS4是一样的,只是输入方式有点区别 GSS4传送门 这道题暴力就能过qaq(这里暴力指线段树) 数据比较水 开方修改在线段树中枚举叶节点sqrt 查询区间和线段树基本操作 ...

  3. Luogu 4514 上帝造题的七分钟

    二维差分+树状数组. 定义差分数组$d_{i, j} = a_{i, j} + a_{i - 1, j - 1} - a_{i, j - 1} - a_{i - 1, j}$,有$a_{i, j} = ...

  4. 【Luogu】P2220容易题(快速幂)

    这题真是“容易”.呵呵呵. 参考题解:xyz32768 代码 #include<cstdio> #include<map> #include<algorithm> ...

  5. [ Luogu 4626 ] 一道水题 II

    \(\\\) \(Description\) 求一个能被\([1,n]\) 内所有数整除的最小数字,并对 \(100000007\) 取模 \(N\in [1,10^8]\) \(\\\) \(Sol ...

  6. [Luogu] P4626 一道水题 II

    ---恢复内容开始--- 题目描述 一天,szb 在上学的路上遇到了灰太狼. 灰太狼:帮我们做出这道题就放了你. szb:什么题? 灰太狼:求一个能被 [1,n] 内所有数整除的最小数字,并对 100 ...

  7. [luogu] P4514 上帝造题的七分钟 (树状数组,二维差分)

    P4514 上帝造题的七分钟 题目背景 裸体就意味着身体. 题目描述 "第一分钟,X说,要有矩阵,于是便有了一个里面写满了0的n×m矩阵. 第二分钟,L说,要能修改,于是便有了将左上角为(a ...

  8. luogu P2791 幼儿园篮球题

    传送门 先看我们要求的是什么,要求的期望就是总权值/总方案,总权值可以枚举进球的个数\(i\),然后就应该是\(\sum_{i=0}^{k} \binom{m}{i}\binom{n-m}{k-i}i ...

  9. Luogu P2756 [网络流24题]飞行员配对方案问题_二分图匹配题解

    二分图模板题 我用的是匈牙利 其实最大流也可以做 #include<iostream> #include<cstdio> #include<cstdlib> #in ...

随机推荐

  1. Docker从入门到掉坑(二):基于Docker构建SpringBoot微服务

    本篇为Docker从入门到掉坑第二篇:基于Docker构建SpringBoot微服务,没有看过上一篇的最好读过 Docker 从入门到掉坑 之后,阅读本篇. 在之前的文章里面介绍了如何基于docker ...

  2. 理解PostgreSQL的模式、表、空间、用户间的关系

    在平时的工作中,我们经常接触到数据库表和用户以及角色的使用,由于经常使用默认的数据库表空间和模式(Schema),所以我们往往忽略了数据库表空间和模式的概念以及作用. 接下来,先介绍一下模式和表空间的 ...

  3. 转载]OK6410之tftp下载内核,nfs挂载文件系统全过程详解[转]

    原文地址:OK6410之tftp下载内核,nfs挂载文件系统全过程详解[转]作者:千山我独行 由于工作的平台也是嵌入式,差不多的平台,所以一直就没有把自己买过来的ok6410板子好好玩玩.以前一直都是 ...

  4. 130道ASP.NET面试题(二)

    71.什么是反射?答:动态获取程序集信息 72.用Singleton如何写设计模式答:static属性里面new ,构造函数private 73.什么是Application Pool?答:Web应用 ...

  5. 201871010114-李岩松《面向对象程序设计(java)》第七周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...

  6. js获取文件里面的所有文件名

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. springboot封装JsonUtil,CookieUtil工具类

    springboot封装JsonUtil,CookieUtil工具类 yls 2019-9-23 JsonUtil public class JsonUtil { private static Obj ...

  8. Windows下编译最新版ChezScheme

    据说ChezScheme是最快的神级编译器,一秒钟几百万行,王垠说的2秒内编译自身绝不是夸张(看这里<揭秘Chez Scheme>,Scheme中文社区).ChezScheme由美国印第安 ...

  9. jquery 向页面追加HTML

    jquery 向页面追加HTML append 函数 例子: <div id="append-test"></div> <script type=&q ...

  10. gitbook 入门教程之一招彻底解决 favicon 图标失效问题

    favicon-absolute 项目 favicon-absolute 插件采用绝对路径设置网站 favicon 图标,相对于相对路径来说更加简单方便.