首页 > 其他分享 >5.9 T2 推式子的过程

5.9 T2 推式子的过程

时间:2024-05-09 19:56:14浏览次数:21  
标签:pq frac 5.9 ak T2 题解 式子 2k

和题解的做法有些不同,不知道为什么,但是能够通过。

首先按题解的做法先将式子除以 \(z^2\)。令 \(\frac{y}{z}=a,\frac{x}{z}=b\)。有:

\[\begin{aligned} \frac{x^2}{z^2}-\frac{xy}{z^2}-\frac{y^2}{z^2}+\frac{y}{z}+1-\frac{x}{z}=0\\ -a^2-ab+b^2+a+1-b=0 \end{aligned} \]

题解的人类智慧:令 \(k=\frac{b-1}{a-1}\)。我们容易发现有 \(b=ak-k+1\)。

我们的思路就是用 \(k\) 表示 \(a,b\),显然难度有点大(,但是没有其他做法,所以我们直接把 \(b=ak-k+1\) 代入到上面那个关于 \(a,b\) 的式子中:

\[-a^2-a(ak-k+1)+(ak-k+1)^2+a+1-(ak-k+1)=0\\ -a^2-a^2k+ak-a+a^2k^2+k^2+1-2ak^2+2ak-2k+a+1-ak+k-1=0\\ \]

读者可以尝试自行抵消一部分,最后我们把这依托写成一元二次方程的形式,我们有:

\[(k^2-k-1)a^2+(-2k^2+2k)a+(k^2-k+1)=0 \]

因为最后和题解有一点不一样,所以这里可能不保证正确性,但是若算的不一样,应该可以用下面一样的方法解这个方程:

令 \(A=k^2-k-1,B=-2k^2+2k,C=k^2-k+1\),有:

\[A+B+C=0 \]

令人惊讶,这样的话,上面那个式子有一个 \(a-1\) 的因式,但是先前我们的 \(a-1\) 是分母,所以这里 \(a\not=1\)。我们可以很容易写出另一个因式,为:

\[Aa-C=(k^2-k-1)a-(k^2-k+1) \]

OK,那么这个时候就能很容易表示 \(a\) 了,其值为:

\[\frac{k^2-k+1}{k^2-k-1} \]

代入我们最开始那个 \(b=ak-k+1\),有:

\[\begin{aligned} b&=\frac{k^3-k^2+k}{k^2-k-1}-\frac{k^3-k^2-k}{k^2-k-1}+\frac{k^2-k-1}{k^2-k-1}\\ &=\frac{k^2+k-1}{k^2-k-1} \end{aligned} \]

我们设 \(k\) 的最简分数形式为 \(\frac{p}{q}\),这里直接代入,算是比较简单了:

\[a=\frac{(\frac{p}{q})^2-\frac{p}{q}+1}{(\frac{p}{q})^2-\frac{p}{q}-1}=\frac{p^2-pq+q^2}{p^2-pq-q^2}\\ b=\frac{(\frac{p}{q})^2+\frac{p}{q}-1}{(\frac{p}{q})^2-\frac{p}{q}-1}=\frac{p^2+pq-q^2}{p^2-pq-q^2} \]

因为我们定义 \(a=\frac{y}{z},b=\frac{x}{z}\),所以我们可以这样表示 \(x,y,z\):

\[x=t(p^2+pq-q^2),y=t(p^2-pq+q^2),z=t(p^2-pq-q^2) \]

其中 \(t\) 为一个有理数,但是 \(\gcd(x,y,z)=1\),所以 \(t=1\)。

因为 \(y\) 的限制,我们可以把 \(p,q\) 的绝对值范围控制在 \(O(\sqrt n)\) 大小的范围内,暴力枚举即可。

但是显然 \(a=1\) 的时候存在解 \(x=y=z=1\) 我们没有算到,加上就行了。

标签:pq,frac,5.9,ak,T2,题解,式子,2k
From: https://www.cnblogs.com/xingyuxuan/p/18182950

相关文章

  • 闲话 5.9 湖南省集 为了你唱下去
    同步考场上被卡常乐,有点难绷。和题解不太一样,但是比较爆。令\(a=\fracyx,b=\fraczx\),则:\[a,b\in\Q,b^2+(a-1)b+1-a-a^2=0\]这里的想法是解出有理数\(b\)。有:\[\Delta=\sqrt{5a^2+2a-3}\]那么\(\sqrt{5a^2+2a-3}\in\Q\)。设\(a=\fraccd,c,d\in\Z^+,c\botd\),得到:......
  • buuctf-pwn-ciscn_2019_c_1-ret2libc
    检查一下保护情况ida里选项2,3都没有什么重要的信息,直接看选项1发现栈溢出漏洞,不过程序对输入的字符串有一个异或加密,这里可以构造异或后的payload,利用程序来解密,或者可以直接在payload第一位加上'\x00',直接截断payload后面的异或操作用cyclic测一下溢出点,得到88找一下system......
  • YC282B [ 20240430 CQYC省选模拟赛 T2 ] 温柔(gentle)
    题意有\(n\)个魔法少女,每个魔法少女的法力为\(a_i\),她们要打败\(n\)个法力为\(b_i\)的怪兽!你需要构造\({c_n}\),使得对于给定的\(m\)组限制,满足:\(c_x\geb_x\landc_y\geb_y\)或\(c_y\geb_x\landc_x\geb_y\)。你需要\(\sum_{i=1}^n|c_i-a_i|\),并......
  • VS2017+QT5.9.1 自定义loggerControl
    创建自定义类LoggerControl继承QListWidget#pragmaonce#include<QListWidget>#include"Helper.h"#include<QTime>#include<QPainter>classLoggerControl:publicQListWidget{Q_OBJECTpublic:LoggerControl(QWidget*paren......
  • ELK日志告警elastalert2
    在/opt目录创建文件以及文件夹 -rw-r--r--1rootroot3394月1714:26docker-compose.ymldrwxr-xr-x3rootroot40964月1715:53elastalert2 [root@node1opt]#treeelastalert2/elastalert2/├──elastalert.yaml└──rules├──......
  • 联考物理T24
    Solution—T24题目描述(本PDF为JJL所制)如图所示,一厚壁玻璃容器放在水平面桌面上,容器底内底面积为$50\cm^2$,外底面积为$100\cm^2$。将一定质量的水倒入容器中,水的深度为\(10\cm\)。求:\((p_水=1.0\times10^3kg/m^3,g\text{取}10N/kg)\)(1)水对容......
  • SpringBoot2.x整合Redis Sentinel
    redissentinel搭建之后,在spring-boot项目中集成。配置在pom.xml文件中添加如下依赖配置(这里spring-boot版本2.2.5),这个版本中,默认使用lettuce作为redis连接池。<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis<......
  • ret2csu和srop
    ret2csu:其实就是一种攻击手法,当我们没有完整的gadget的时候,我们就可以使用csu这个手法来进行攻击,那么csu是什么呢?这个其实就是在程序中一般都会有一段万能的控制参数的gadget,里面可以控制rbx,rbp,r12,r13,r14,r15以及rdx,rsi,edi的值,并且还可以call我们指定的地址。然后劫持程序......
  • [Python急救站]基于Transformer Models模型完成GPT2的学生AIGC学习训练模型
    为了AIGC的学习,我做了一个基于TransformerModels模型完成GPT2的学生AIGC学习训练模型,指在训练模型中学习编程AI。在编程之前需要准备一些文件:首先,先win+R打开运行框,输入:PowerShell后输入:pipinstall-Uhuggingface_hub下载完成后,指定我们的环境变量:$env:HF_ENDPOINT="ht......
  • Nuxt2项目Js文件使用Vuex
    背景当前项目是Nuxt2框架,建立了Vuex仓库。通过返回一个函数的形式,建立Vuex代码如下importVuefrom'vue'importVuexfrom'vuex'Vue.use(Vuex)conststore=()=> newVuex.Store({ state:{ name:'abc' }, mutations:{ setName(state,data){ ......