题意: 输入一个P 使得存在一个一个N大于等于P, 并且存在m 等于 m/n * (m-1)/(n-1)=1/2.

思路

此题可以利用佩尔方程求解, 也可以打表解决.本次我解决利用的是佩尔方程(其实也是打表).

将方程化解成 8mm-8m=4n*n-4n 等于 (2n-1)²-2(2m-1)²=-1 设 a=2n-1; b=2m-1 方程等于 a²-2b²=-1; 已知n,m的最小解是4和3.所以 a和b的最小解为7和5.

我们取一个方程 为 x²-2y²=1 两方程相乘得到 (a²-2b²)(x²-2y²)=-1 化解得:(ax+2by)²-2(bx+ay)²=-1; 所以 a=ax+2by,b=bx+ay.也是方程a²-2b²=-1的一个解;

取x 和y的最小值为 x=3,y=2 所以 a1=3a0+4b0, b1=3b0+2a0; 第一项a0=7,b0=5 所以 a1=21+20=41 对应的x等于21 b1=15+14=29 对应的Y等于15.

      所以它的规律就是

第一项 n=4,m=3.

n1=3n0+4m0-3.

m1=3m0+2n0-2.

存表二分搜就好了

备注: 我这个代码可能有bug,没平台交随便写写,暴力打表能过的. 这题主要提供个思路

 java    code:

import java.math.;

import java.util.
;

import java.io.*;

public class Main {

static final int MAXN=128;

static BigInteger[] x=new BigInteger[MAXN];

static BigInteger[] y=new BigInteger[MAXN];

static BigInteger BB,CC;

static void Init()

{

x[0]=BigInteger.valueOf(7);

y[0]=BigInteger.valueOf(5);

for(int i=1;i<MAXN;i++)

{

x[i]=x[i-1].multiply(BigInteger.valueOf(3)).add(y[i-1].multiply(BigInteger.valueOf(4)));

y[i]=x[i-1].multiply(BigInteger.valueOf(2)).add(y[i-1].multiply(BigInteger.valueOf(3)));

}

}

public static void main(String[] args) {

Scanner in =new Scanner(System.in);

BigInteger N;

Init();

N=in.nextBigInteger();

for(int i=0;i<MAXN;i++)

{

if(N.compareTo(x[i])!=1&&((x[i].mod(BigInteger.valueOf(2))).equals(BigInteger.valueOf(1)))&&((y[i].mod(BigInteger.valueOf(2))).equals(BigInteger.valueOf(1))))

{

BB=x[i].add(BigInteger.valueOf(1));

BB=BB.divide(BigInteger.valueOf(2));

CC=y[i].add(BigInteger.valueOf(1));

CC=CC.divide(BigInteger.valueOf(2));

System.out.println(BB+" "+CC);

break;

}}

}

}

广东ACM省赛 E题的更多相关文章

  1. 第十届山东省acm省赛补题(1)

    今天第一场个人训练赛的题目有点恐怖啊,我看了半个小时多硬是一道都不会写.我干脆就直接补题去了.... 先补的都是简单题,难题等我这周末慢慢来吧... A Calandar Time Limit: 1 ...

  2. Sdut 2409 The Best Seat in ACM Contest(山东省第三届ACM省赛 H 题)(模拟)

    题目描述 Cainiao is a university student who loves ACM contest very much. It is a festival for him once ...

  3. Rectangles(第七届ACM省赛原题+最长上升子序列)

    题目链接: http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=1255 描述 Given N (4 <= N <= 100)  rec ...

  4. 青岛理工ACM交流赛 J题 数格子算面积

    数格子算面积 Time Limit: 1000MS Memory limit: 262144K 题目描述 给你一个多边形(用’\’和’/’表示多边形的边),求多边形的面积. 输入  第一行两个正整数h ...

  5. 哈尔滨工程大学ACM预热赛 补题

    链接:https://ac.nowcoder.com/acm/contest/554/A来源:牛客网 小虎刚刚上了幼儿园,老师让他做一个家庭作业:首先画3个格子,第二行有2个格子,第三行有1个格子. ...

  6. 第十届山东省acm省赛补题(2)

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4124 L Median Time Limit: 1 Second      ...

  7. Sdut 2416 Fruit Ninja II(山东省第三届ACM省赛 J 题)(解析几何)

    Time Limit: 5000MS Memory limit: 65536K 题目描述 Haveyou ever played a popular game named "Fruit Ni ...

  8. 哈尔滨工程大学ACM预热赛 G题 A hard problem(数位dp)

    链接:https://ac.nowcoder.com/acm/contest/554/G Now we have a function f(x): int f ( int x ) {     if ( ...

  9. 第八届山东ACM省赛F题-quadratic equation

    这个题困扰了我长达1年多,终于在今天下午用两个小时理清楚啦 要注意的有以下几点: 1.a=b=c=0时 因为x有无穷种答案,所以不对 2.注意精度问题 3.b^2-4ac<0时也算对 Probl ...

随机推荐

  1. JavaScript入门学习(2)--进度条

    <html> <style type="text/css"> #bar{width:0px; height:20px; background:#ee00ff ...

  2. ls 的详细使用

    ls是list的缩写,list--清单 ls 是显示文件 如查看root下的所有信息 如果要以列表的形式显示文件详细信息可使用ls -all或ls -al(包括以“.“开头的隐藏文件) 如果你想查看某 ...

  3. 短连接、长连接、轮询、长轮询、WebSocket

    短连接 建立连接——数据传输——关闭连接...建立连接——数据传输——关闭连接 定义:短连接是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送. 应 ...

  4. git提交代码速度过慢解决方法(macos)

    iterm2中ping下github.com和github.global.ssl.fastly.net $ ping github.com 得到以下 PING github.com (192.30.2 ...

  5. EOS节点远程代码执行漏洞细节

    这是一个缓冲区溢出越界写漏洞 漏洞存在于在 libraries/chain/webassembly/binaryen.cpp文件的78行, Function binaryen_runtime::ins ...

  6. Python用@property使类方法像属性一样访问

    class Screen(object): @property #读取with的值getter方法 def width(self): return self._width @width.setter ...

  7. 实现虚拟机和宿主机之间的复制、粘贴(ubuntu系统)

    参考:https://blog.csdn.net/weixin_37850264/article/details/79057886 https://blog.csdn.net/zldz14/artic ...

  8. 2016-2017-2 20155227实验三《敏捷开发与XP实践》实验报告

    2016-2017-2 20155227实验三<敏捷开发与XP实践>实验报告 实验内容 一.实验内容 XP基础 XP核心实践 相关工具 二.实验过程 (一)敏捷开发与XP 1.XP是以开发 ...

  9. Microsoft .NET Framework 安装未成功(证书方面)

    问题:在为windows7 sp1安装framework 4.6.2的时候,有两次证书方面的报错 // 错误1: 无法建立到信任根颁发机构的证书链 // 错误2: 已处理证书链,但是在不受信任的根证书 ...

  10. Java集合——LinkedList源码详解

    )LinkedList直接继承于AbstractSequentialList,同时实现了List接口,也实现了Deque接口. AbstractSequentialList为顺序访问的数据存储结构提供 ...