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. IT兄弟连 JavaWeb教程 Cookie和Session应用结合使用

    一般对于不要求安全的非敏感数据,建议存储在Cookie中! 对于敏感的数据,占用空间较小的,建议存储在Session中! 对于敏感的,较大的数据,存数据库!

  2. Windows 2008 R2 如何安装.net framework 3.5

    服务器中安装sql server2012 ,  安装过程中提示没有此 “ Framework 3.5.1 功能 ” , 是不是很尴尬 于是简单记录安装 Framework 3.5.1 功能的步骤 一. ...

  3. 黑马方法引用学习 Stream流 函数式接口 Lambda表达式 方法引用

  4. Python及bs4、lxml、numpy模块包的安装

    http://blog.csdn.net/tiantiancsdn/article/details/51046490(转载) Python及bs4.lxml.numpy模块包的安装 Python 的安 ...

  5. 管理现有数据库-web系统

    1 需求 现有的业务数据需要经常被展示,所以选择django作为展示工具.只需要使用django自带的admin app,然后对现有数据库进行建模就可以搞定. 2 代码 settings: DATAB ...

  6. c#学习系列之字段(静态,常量,只读)

    C#静态变量使用 static 修饰符进行声明,在类被实例化时创建,通过类进行访问不带有 static 修饰符声明的变量称做非静态变量.static变量在对象被实例化时创建,通过对象进行访问一个类的所 ...

  7. springmvc整合elasticsearch

    网上大多时关于springboot整合的,也有spring的,但是 坑太多,都没法愉快的玩耍 这篇让我整合成功 https://www.cnblogs.com/sunny1009/articles/7 ...

  8. 再看SpringMVC通过一个DispatcherServlet处理Servlet

    初始入口: org.springframework.web.context.ContextLoaderListener org.springframework.web.context.ContextL ...

  9. C#入门笔记1

    C#是用于创建要运行在.NET CLR上的应用程序的语言之一,从C和C++语言演化而来,是微软专门为使用.NET平台而创建的.优点:就是彻头彻尾为.NET Framework设计语言. C#能编写什么 ...

  10. 难道这就是gin中间件的原理,一个装饰者模式而已?

    func wrapCtx(handler func(ctx *gin.Context)) gin.HandlerFunc { return func(c *gin.Context) { //获取请求的 ...