https://www.luogu.org/problemnew/show/P1214

首先暴力枚举可以凑出来的数,对于每个数进行标记。

对于每一个等差数列,当我们知道前两个数后即可以得出整个序列,那么我们就要判断序列中的每一个数是否被标记过,合法记录答案。

最后对于答案进行排序,输出。

#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <queue>
using namespace std;
#define LL long long
int a[],tot,cnt,n,m;
bool vis[];
struct ahah
{
int s,k;
} ans[];
bool cmp(ahah a,ahah b)
{
return a.k<b.k;
}
void prepare(int x)
{
for(int i=; i<=x; i++)
{
for(int j=; j<=x; j++)
{
a[++tot]=i*i+j*j;
}
}
sort(a+,a++tot);
tot=unique(a+,a++tot)-a-;
for(int i=; i<=tot; i++)vis[a[i]]=;
}
int main()
{ scanf("%d%d",&n,&m);
prepare(m);
for(int i=; i<=tot; i++)
{
if(a[i]>m*m*)break;
for(int j=i+; j<=tot; j++)
{
int d=a[j]-a[i];
if(a[i]+(n-)*d > m*m*)break;
for(int k=; k<=n; k++)
{
if(!vis[a[i]+d*(k-)])break;
if(k==n)ans[++cnt].s=a[i],ans[cnt].k=d;
}
}
}
if(cnt==)printf("NONE");
else
{
sort(ans+,ans++cnt,cmp);
for(int i=; i<=cnt; i++)printf("%d %d\n",ans[i].s,ans[i].k);
}
}
#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <queue>
using namespace std;
#define LL long long
int a[],tot,cnt,n,m;
bool vis[];
struct ahah
{
int s,k;
} ans[];
bool cmp(ahah a,ahah b)
{
return a.k<b.k;
}
void prepare(int x)
{
for(int i=; i<=x; i++)
{
for(int j=; j<=x; j++)
{
a[++tot]=i*i+j*j;
}
}
sort(a+,a++tot);
tot=unique(a+,a++tot)-a-;
for(int i=; i<=tot; i++)vis[a[i]]=;
}
int main()
{ scanf("%d%d",&n,&m);
prepare(m);
for(int i=; i<=tot; i++)
{
if(a[i]>m*m*)break;
for(int j=i+; j<=tot; j++)
{
int d=a[j]-a[i];
if(a[i]+(n-)*d > m*m*)break;
for(int k=; k<=n; k++)
{
if(!vis[a[i]+d*(k-)])break;
if(k==n)ans[++cnt].s=a[i],ans[cnt].k=d;
}
}
}
if(cnt==)printf("NONE");
else
{
sort(ans+,ans++cnt,cmp);
for(int i=; i<=cnt; i++)printf("%d %d\n",ans[i].s,ans[i].k);
}
}

洛谷 P1214 等差数列的更多相关文章

  1. 洛谷P1214 [USACO1.4]等差数列 Arithmetic Progressions

    P1214 [USACO1.4]等差数列 Arithmetic Progressions• o 156通过o 463提交• 题目提供者该用户不存在• 标签USACO• 难度普及+/提高 提交 讨论 题 ...

  2. 【洛谷P1214】等差数列

    题目大意:列出从一个给定上界的双平方数集合中选出若干个数,组成长度为 N 的等差数列的首项和公差. 题解:首先,因为是在双平方数集合上的等差数列,而且根据题目范围可知,上界不超过 2e5,可以先打表, ...

  3. 洛谷 P4559: bzoj 5319: [JSOI2018]军训列队

    题目传送门:洛谷 P4559. 题意简述: 有 \(n\) 个学生,编号为 \(i\) 的学生有一个位置 \(a_i\). 有 \(m\) 个询问,每次询问编号在 \([l,r]\) 区间内的学生跑到 ...

  4. 【洛谷】【洛谷月赛】4月月赛Round 1/2

    洛谷月赛“月”来“月”丧了,一月更比一月丧,做得我十分不“月”…… 4月的两轮月赛,都只会T1,就写一下吧,等待后续更新…… 先看看Round1的T1: [R1T1] 网址:点我 [题意简述] 给定一 ...

  5. [洛谷P3228] [HNOI2013]数列

    洛谷题目链接:[HNOI2013]数列 题目描述 小T最近在学着买股票,他得到内部消息:F公司的股票将会疯涨.股票每天的价格已知是正整数,并且由于客观上的原因,最多只能为N.在疯涨的K天中小T观察到: ...

  6. 洛谷 P2261 [CQOI2007]余数求和

    洛谷 一看就知道是一个数学题.嘿嘿- 讲讲各种分的做法吧. 30分做法:不知道,这大概是这题的难点吧! 60分做法: 一是直接暴力,看下代码吧- #include <bits/stdc++.h& ...

  7. 【洛谷4933】大师(DP)

    题目: 洛谷4933 分析: (自己瞎yy的DP方程竟然1A了,写篇博客庆祝一下) (以及特斯拉电塔是向Red Alert致敬吗233) 这里只讨论公差不小于\(0\)的情况,小于\(0\)的情况进行 ...

  8. 洛谷 p6858 深海少女与胖头鱼 洛谷月赛 期望dp

    洛谷10月月赛 2 t2 深海少女与胖头鱼 题目链接 参考资料:洛谷10月赛2讲评ppt; 本篇题解考完那天就开始写,断断续续写到今天才写完 本题作为基础的期望dp题,用来学习期望dp还是很不错的 ( ...

  9. 洛谷1640 bzoj1854游戏 匈牙利就是又短又快

    bzoj炸了,靠离线版题目做了两道(过过样例什么的还是轻松的)但是交不了,正巧洛谷有个"大牛分站",就转回洛谷做题了 水题先行,一道傻逼匈牙利 其实本来的思路是搜索然后发现写出来类 ...

随机推荐

  1. Splay(区间翻转) 模板

    洛谷:P3391 [模板]文艺平衡树(Splay) #include<cstdio> #include<iostream> #include<algorithm> ...

  2. 【JSP报错】—— org.apache.jasper.JasperException: Unable to compile class for JSP

    org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: [52] ...

  3. 笔记-JavaWeb学习之旅12

    会话技术 Cookie:客户端会话技术,将数据保存到客户端 package com.data.Cookie; import javax.servlet.ServletException; import ...

  4. android webview.goback 问题

    重写 shouldOverrideUrlLoading 不需要实现 view.loadUrl(url);直接return false;即可 如果实现了,则使用window.location.repla ...

  5. IP服务-2-RARP和BOOTP

    ARP和代理ARP进程都是在一台主机知道了自己的IP地址和子网掩码后发生的.RARP.BOOTP和DHCP则代表了一类协议的发展,这类协议用来帮助主机动态地学习自己的IP地址.

  6. jave之set和get的用法

    package com.xxl.api.admin; public class Test { private int score; public int getScore() { return sco ...

  7. [软件工程基础]PhyLab 需求与功能分析改进文档

    NABCD 模型 Need 需求 根据 Default 的需求文档,物理实验网站对于北航大二学生完成物理实验有较大的帮助,反馈较好.由于在 2016-2017 春季学期,网站数据库因为不明原因被删除了 ...

  8. JAVA常用知识总结(八)——计算机网络

    GET 和 POST 的区别? get参数通过url传递,post放在request body中. get请求在url中传递的参数是有长度限制的,而post没有. get比post更不安全,因为参数直 ...

  9. 用注解@DelcareParents实现引用增强

    引用增强,是一个比较特殊的增强,不同于其他方法级别的增强. 引用增强可以实现:一个Java类,没有实现A接口,在不修改Java类的的情况下,使其具备A接口的功能. 先看看背景,我们有个Love接口: ...

  10. Navicat for MySQL在ubuntu下运行没有反应

    Step1: 打开Navicat官网,下载Navicat ,网址:http://www.navicat.com/en/download/download.html Step2:进入下载目录,解压压缩包 ...