[XSY] 简单的数论题(数学、构造)

简单的数论题

m(a3+b3)=n(c3+d3)m(a^3+b^3)=n(c^3+d^3)m(a3+b3)=n(c3+d3)
考虑因式分解(a3+b3),(c3+d3):考虑因式分解(a^3+b^3),(c^3+d^3):(a3+b3),(c3+d3):
a3+b3=(a+b)3−3ab(a+b)=(a+b)(a2+b2−ab)a^3+b^3=(a+b)^3-3ab(a+b)=(a+b)(a^2+b^2-ab)a3+b3=(a+b)33ab(a+b)=(a+b)(a2+b2ab)
c3+d3=(c+d)3−3cd(c+d)=(c+d)(c2+d2−cd)c^3+d^3=(c+d)^3-3cd(c+d)=(c+d)(c^2+d^2-cd)c3+d3=(c+d)33cd(c+d)=(c+d)(c2+d2cd)
∴m(a+b)(a2+b2−ab)=n(c+d)(c2+d2−cd)\therefore m(a+b)(a^2+b^2-ab)=n(c+d)(c^2+d^2-cd)m(a+b)(a2+b2ab)=n(c+d)(c2+d2cd)
等式两边带着系数m,n很不方便,(a2+b2−ab),(c2+d2−cd)结构较复杂,等式两边带着系数m,n很不方便,(a^2+b^2-ab),(c^2+d^2-cd)结构较复杂,m,n便(a2+b2ab),(c2+d2cd)
考虑用(a+b),(c+d)把m,n消掉:考虑用(a+b),(c+d)把m,n消掉:(a+b),(c+d)m,n
令a+b=kn,c+d=km令a+b=kn,c+d=kma+b=kn,c+d=km
∴a2+b2−ab=c2+d2−cd①\therefore a^2+b^2-ab=c^2+d^2-cd①a2+b2ab=c2+d2cd
尽量让左式出现(a+b),右式出现(c+d):尽量让左式出现(a+b),右式出现(c+d):(a+b)(c+d):
(a+b)2−3ab=(c+d)2−3cd(a+b)^2-3ab=(c+d)^2-3cd(a+b)23ab=(c+d)23cd
k2n2−3ab=k2m2−3cdk^2n^2-3ab=k^2m^2-3cdk2n23ab=k2m23cd
k2(n2−m2)=3(ab−cd)k^2(n^2-m^2)=3(ab-cd)k2(n2m2)=3(abcd)
考虑令k=3,构造3(n2−m2)=ab−cd②:考虑令k=3,构造3(n^2-m^2)=ab-cd②:k=3,3(n2m2)=abcd:
尝试1:令ab=3n2,cd=3m2,与a+b=3n,c+d=3m联立求解a,b,c,d尝试1:令ab=3n^2,cd=3m^2,与a+b=3n,c+d=3m联立求解a,b,c,d1ab=3n2,cd=3m2a+b=3n,c+d=3ma,b,c,d
结果:方程无解结果:方程无解
尝试2:因为已知(a+b),(c+d),考虑求出(a−b),(c−d):尝试2:因为已知(a+b),(c+d),考虑求出(a-b),(c-d):2(a+b),(c+d),(ab),(cd):
回到①式,让左式出现(a−b),右式出现(c−d):回到①式,让左式出现(a-b),右式出现(c-d):(ab)(cd)
(a−b)2+ab=(c−d)2+cd(a-b)^2+ab=(c-d)^2+cd(ab)2+ab=(cd)2+cd
让此式向②式靠近:让此式向②式靠近:
(c−d)2−(a−b)2=ab−cd③(c-d)^2-(a-b)^2=ab-cd③(cd)2(ab)2=abcd
②③联立得:②③联立得:
(c−d)2−(a−b)2=3(n2−m2)(c-d)^2-(a-b)^2=3(n^2-m^2)(cd)2(ab)2=3(n2m2)
令u=c−d,v=a−b令u=c-d,v=a-bu=cd,v=ab
u2−v2=3(n2−m2)u^2-v^2=3(n^2-m^2)u2v2=3(n2m2)
(u+v)(u−v)=3(n+m)(n−m)(u+v)(u-v)=3(n+m)(n-m)(u+v)(uv)=3(n+m)(nm)
把3放进其中一个括号中:把3放进其中一个括号中:3
(u+v)(u−v)=(n+m)(3n−3m)(u+v)(u-v)=(n+m)(3n-3m)(u+v)(uv)=(n+m)(3n3m)
令u+v=n+m,u−v=3n−3m令u+v=n+m,u-v=3n-3mu+v=n+m,uv=3n3m
解得u=2n−m,v=2m−n解得u=2n-m,v=2m-nu=2nm,v=2mn
由a+b=3n,a−b=2m−n得a=n+m,b=2n−m由a+b=3n,a-b=2m-n得a=n+m,b=2n-ma+b=3n,ab=2mna=n+m,b=2nm
由c+d=3m,c−d=2n−m得c=n+m,d=2m−n由c+d=3m,c-d=2n-m得c=n+m,d=2m-nc+d=3m,cd=2nmc=n+m,d=2mn

如此,我们便构造出了一组整数解


考虑何时有正整数解:
2n−m>0,2m−n>02n-m>0,2m-n>02nm>0,2mn>0
∴nm∈(12,2)时所得为正整数解\therefore \frac{n}{m}\in(\frac{1}{2},2)时所得为正整数解mn(21,2)

nm∉(12,2)\frac{n}{m}\not\in (\frac{1}{2},2)mn(21,2),寻找p3nq3m∈(12,2)\frac{p^3n}{q^3m}\in(\frac{1}{2},2)q3mp3n(21,2)(令a,ba,ba,b变为原来的qqq倍,c,dc,dc,d变为原来的ppp倍)

为了方便,我们设n<mn<mn<m(否则的话swap(n,m)即可)
那么此时必然有0<nm<10<\frac{n}{m}<10<mn<1
若nm<14,nm←23nm若\frac{n}{m}<\frac{1}{4},\frac{n}{m}\leftarrow\frac{2^3n}{m}mn<41,mnm23n (保证变化后nm<2\frac{n}{m}<2mn<2)
若14<=nm<=12,nm←23n33m若\frac{1}{4}<=\frac{n}{m}<=\frac{1}{2},\frac{n}{m}\leftarrow\frac{2^3n}{3^3m}41<=mn<=21,mn33m23n (保证变化后12<nm<2\frac{1}{2}<\frac{n}{m}<221<mn<2)
若nm>12,保证有正整数解若\frac{n}{m}>\frac{1}{2},保证有正整数解mn>21,


总结:既然题目只要求一组解,那么就要大胆地作假设来方便自己的运算,大胆地凑答案

#include<iostream>
#include<cstdio>
using namespace std;
typedef long long ll;
ll read(){ll x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}return x*f;
}
int T,rev;
ll n,m,a,b,c,d,p,q;
void solve(){rev=0;p=q=1ll;if(n>m){swap(n,m);rev=1;}while(4ll*n<m){p*=2ll;n*=8ll;}if(2ll*n<=m){p*=3ll;n*=27ll;q*=2ll;m*=8ll;}a=q*(n+m);b=q*(2ll*n-m);c=p*(n+m);d=p*(2ll*m-n);if(rev) printf("%lld %lld %lld %lld\n",c,d,a,b);else printf("%lld %lld %lld %lld\n",a,b,c,d);
}
int main(){scanf("%d",&T);while(T--){n=read();m=read();solve();}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/320111.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P4322-[JSOI2016]最佳团体【0/1分数规划,树形背包】

正题 题目链接:https://www.luogu.com.cn/problem/P4322 题目大意 nnn个点的一棵树&#xff0c;每个节点有一个(si,pi)(s_i,p_i)(si​,pi​)&#xff0c;选择一个点必须选择它的父节点&#xff0c;求选择KKK个点使得∑pxi∑sxi\frac{\sum p_{x_i}}{\sum s_{x_i}}∑sxi​​∑px…

【DP】平铺方案(ybtoj DP-1-5)

平铺方案 ybtoj DP-1-5 题目大意 求用121\times 212和222\times 222的瓦片平铺2n2\times n2n矩形的方案数 输入样例 2 8 12 100 200输出样例 3 171 2731 845100400152152934331135470251 1071292029505993517027974728227441735014801995855195223534251数据范围 0⩽n⩽2…

白兔的字符串

链接&#xff1a; 文章目录题目描述题解&#xff1a;代码&#xff1a;时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 262144K&#xff0c;其他语言524288K 64bit IO Format: %lld题目描述 白兔有一个字符串T。白云有若干个字符串S1,S2…Sn。 白…

利用.NET Core类库System.Reflection.DispatchProxy实现简易Aop

Aop即是面向切面编程&#xff0c;众多Aop框架里Castle是最为人所知的&#xff0c;另外还有死去的Spring.NET&#xff0c;当然&#xff0c;.NET Core社区新秀AspectCore在性能与功能上都非常优秀&#xff0c;已经逐渐被社区推崇和有越来越多的人使用。感谢柠檬同学的礼物&#x…

P6348-[PA2011]Journeys【线段树优化建图,最短路】

正题 题目链接:https://www.luogu.com.cn/problem/P6348 题目大意 nnn个点的一张图&#xff0c;mmm条边表示区间[a,b][a,b][a,b]向区间[c,d][c,d][c,d]连边&#xff0c;求单源最短路。 解题思路 线段树优化建图的裸题&#xff0c;但是不能直接让线段树上的点两两建边&#xf…

[XSY] 简单的博弈题(博弈+dp+组合数+容斥)

简单的博弈题 对于贪心的对手&#xff0c;显然用最大的一半和他最小的一半比较判断是否全胜。&#xff08;这不就是田忌赛马吗&#xff09; 对于随机的对手&#xff0c;先考虑暴力怎么做&#xff1a; void check(int x,int w){if(x>m){res(w>m/21);return;}for(int i1;…

【矩阵乘法】沼泽鳄鱼(ssl 2511)

沼泽鳄鱼 ssl 2511 题目大意 给你一个无向图&#xff0c;有一些鳄鱼有周期性地在这个图中走&#xff08;鳄鱼不用沿着边走&#xff0c;周期为2或3或4&#xff09;&#xff0c;问你从初始点走到最终点走k个单位时间&#xff0c;不在点和边上停下&#xff0c;不在同一时间和鳄…

Matrix(二维hash)

题目链接 文章目录题目描述题意&#xff1a;题解代码&#xff1a;时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 32768K&#xff0c;其他语言65536K 64bit IO Format: %lld题目描述 给定一个M行N列的01矩阵&#xff08;只包含数字0或1的矩阵&am…

当我们谈高性能时,我们谈些什么?(送书活动)

网站越快&#xff0c;用户的黏性就越高&#xff1b;网站越快&#xff0c;用户忠诚度更高&#xff1b;网站越快&#xff0c;用户转化率越高。简言之&#xff0c;速度是关键。——《Web 性能权威指南》显然&#xff0c;高性能意味着“快”。但对快的定义&#xff0c;在不同的系统…

P5355-[Ynoi2017]由乃的玉米田【莫队,bitset,根号分治】

正题 题目链接:https://www.luogu.com.cn/problem/P5355 顺带一提的是P3674 小清新人渣的本愿是这题的弱化版&#xff0c;提交就可以A 题目大意 nnn个数字&#xff0c;询问 一个区间是否有两个数a,ba,ba,b使得abxabxabx一个区间是否有两个数a,ba,ba,b使得a−bxa-bxa−bx一个区…

[XSY] 字符串题(字符串,构造)

字符串题 考虑找到一种方法&#xff0c;能够对一个 lyndon 串 A &#xff0c;直接求出 A 的下一个 lyndon 串。考虑不断复制 A &#xff0c;得 AAA…A因为 lyndon 串是自身循环移位得到的串中字典序严格最小的&#xff0c;所以 AAA…A 非lyndon 串。考虑微调&#xff1a;将 AA…

【DP】划分数列(ybtoj DP-2-1)

划分数列 ybtoj DP-2-1 题目大意 给你一个数列&#xff0c;让你划分出最少的段数&#xff0c;使每段要么单调不降&#xff0c;要么单调不增 输入样例#1 6 1 2 3 2 2 1 输出样例#1 2 输入样例#2 9 1 2 1 2 1 2 1 2 1 输出样例#2 5 输入样例#3 7 1 2 3 2 1 99999999…

Asp.net Core 2.1新功能Generic Host(通用主机)深度学习

什么是Generic Host ?这是在Asp.Net Core 2.1加入了一种新的Host&#xff0c;现在2.1版本的Asp.Net Core中&#xff0c;有了两种可用的Host。Web Host –适用于托管Web程序的Host,就是我们所熟悉的在Asp.Net Core应用程序的Mai函数中用CreateWebHostBuilder创建出来的常用的We…

牛客网【每日一题】5月19日题目精讲 比赛

链接&#xff1a; 文章目录题目描述题意题解&#xff1a;代码时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 131072K&#xff0c;其他语言262144K 64bit IO Format: %lld题目描述 你在打比赛&#xff0c;这场比赛总共有12个题 对于第i个题&…

P3704-[SDOI2017]数字表格【莫比乌斯反演】

正题 题目链接:https://www.luogu.com.cn/problem/P3704 题目大意 TTT组询问&#xff0c;给出n,mn,mn,m求∏i1n∏j1mFbigcd(i,j)\prod_{i1}^n\prod_{j1}^mFbi_{gcd(i,j)}i1∏n​j1∏m​Fbigcd(i,j)​ 其中FbixFbi_xFbix​表示第xxx项斐波那契数列。 解题思路 答案就是∏x1nFb…

【贪心】奶牛晒衣服(ybtoj 贪心-1-1)

奶牛晒衣服 ybtoj 贪心-1-1 题目大意 有n件衣服&#xff0c;每件衣服有一个湿度&#xff0c;每一个单位时间所有衣服会湿度-a&#xff0c;同时可以选择一件衣服使其湿度-b&#xff0c;问最短在多久可以使所有衣服湿度小于等于0 输入样例 3 2 1 1 2 3输出样例 1数据范围 1…

[XSY] 树与图(树形DP、生成函数、分治NTT、重链剖分)

树与图 如果真的在图上跑算法&#xff0c;那么光建图复杂度就O(n2logn)O(n^2logn)O(n2logn)了&#xff0c;这显然不可行。所以一定要把 在图上的操作 转换成 在树上的操作 在图上删去点u&#xff0c;相当于在树上删去u到根节点的链&#xff0c;并把u的整棵子树删掉 如果我们枚举…

520 钻石争霸赛 题解

说好的钻石难度&#xff0c;结果本人菜的一地。。只有88分。。。。 文章目录7-1 考试周7-2 真的恭喜你7-3 平均成绩7-4 古风AB难度开始上升7-5 猜近似数字7-6 随机输一次7-7 阶乘的非零尾数7-8 三足鼎立前四题十分钟AC后两题二十分钟自闭第五题玄学卡点不知为何7-1 考试周 模拟…

.NET Core 跨平台物联网框架 ServerSuperIO.Core,一套设备驱动通吃嵌入式、上位机、云服务...

一、概述我们的大数据平台&#xff08;云&#xff09;平台的数据接收服务基于ServerSuperIO开发&#xff0c;因为集成的功能比较多&#xff0c;无法实现跨平台&#xff0c;现在跑在Windows下。但是云端体系化、标准化建设&#xff0c;跨平台是必走的技术路线。在ServerSuperIO基…

P3243-[HNOI2015]菜肴制作【拓扑排序,优先队列】

正题 题目链接:https://www.luogu.com.cn/problem/P3243 题目大意 nnn个数&#xff0c;有mmm个要求形如xxx在yyy的前面&#xff0c;现在要求在i−1i-1i−1尽量靠前的情况下iii尽量靠前(i>1)(i>1)(i>1) 求这个序列 解题思路 这个很显然要求是张有向图无环图&#xff…