洛谷 P1214 等差数列
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 等差数列的更多相关文章
- 洛谷P1214 [USACO1.4]等差数列 Arithmetic Progressions
P1214 [USACO1.4]等差数列 Arithmetic Progressions• o 156通过o 463提交• 题目提供者该用户不存在• 标签USACO• 难度普及+/提高 提交 讨论 题 ...
- 【洛谷P1214】等差数列
题目大意:列出从一个给定上界的双平方数集合中选出若干个数,组成长度为 N 的等差数列的首项和公差. 题解:首先,因为是在双平方数集合上的等差数列,而且根据题目范围可知,上界不超过 2e5,可以先打表, ...
- 洛谷 P4559: bzoj 5319: [JSOI2018]军训列队
题目传送门:洛谷 P4559. 题意简述: 有 \(n\) 个学生,编号为 \(i\) 的学生有一个位置 \(a_i\). 有 \(m\) 个询问,每次询问编号在 \([l,r]\) 区间内的学生跑到 ...
- 【洛谷】【洛谷月赛】4月月赛Round 1/2
洛谷月赛“月”来“月”丧了,一月更比一月丧,做得我十分不“月”…… 4月的两轮月赛,都只会T1,就写一下吧,等待后续更新…… 先看看Round1的T1: [R1T1] 网址:点我 [题意简述] 给定一 ...
- [洛谷P3228] [HNOI2013]数列
洛谷题目链接:[HNOI2013]数列 题目描述 小T最近在学着买股票,他得到内部消息:F公司的股票将会疯涨.股票每天的价格已知是正整数,并且由于客观上的原因,最多只能为N.在疯涨的K天中小T观察到: ...
- 洛谷 P2261 [CQOI2007]余数求和
洛谷 一看就知道是一个数学题.嘿嘿- 讲讲各种分的做法吧. 30分做法:不知道,这大概是这题的难点吧! 60分做法: 一是直接暴力,看下代码吧- #include <bits/stdc++.h& ...
- 【洛谷4933】大师(DP)
题目: 洛谷4933 分析: (自己瞎yy的DP方程竟然1A了,写篇博客庆祝一下) (以及特斯拉电塔是向Red Alert致敬吗233) 这里只讨论公差不小于\(0\)的情况,小于\(0\)的情况进行 ...
- 洛谷 p6858 深海少女与胖头鱼 洛谷月赛 期望dp
洛谷10月月赛 2 t2 深海少女与胖头鱼 题目链接 参考资料:洛谷10月赛2讲评ppt; 本篇题解考完那天就开始写,断断续续写到今天才写完 本题作为基础的期望dp题,用来学习期望dp还是很不错的 ( ...
- 洛谷1640 bzoj1854游戏 匈牙利就是又短又快
bzoj炸了,靠离线版题目做了两道(过过样例什么的还是轻松的)但是交不了,正巧洛谷有个"大牛分站",就转回洛谷做题了 水题先行,一道傻逼匈牙利 其实本来的思路是搜索然后发现写出来类 ...
随机推荐
- CF1175E Minimal Segment Cover 题解
题意:给出\(n\)个形如\([l,r]\)的线段.\(m\)次询问,每次询问区间\([x,y]\),问至少选出几条线段,使得区间\([x,y]\)的任何一个部位都被至少一条线段覆盖. 首先有一个显然 ...
- 第十九篇 .NET高级技术之C#中的线程(一)
原文://http://www.cnblogs.com/miniwiki/archive/2010/06/18/1760540.html 文章系参考转载,英文原文网址请参考:http://www.al ...
- PostgreSQL-13-缺失值处理
-- 1.查看缺失值CREATE TABLE dnull AS SELECT * FROM data; -- 复制数据SELECT * FROM dnull WHERE 房屋编码 IS NULL OR ...
- Flask (三) 数据迁移
数据迁移 安装 pip install flask-migrate 初始化 使用app和db进行migrate对象初始化 from flask_migrate import Migrate mig ...
- python 基础(四) 函数
函数 一.什么是函数? 函数是可以实现一些特定功能的 小方法 或者是小程序 优点: 提高 了代码的后期维护 增加了代码的重复使用率 减少了代码量 提高了代码可读性 二.函数的定义 使用 def关键+函 ...
- redis配置配置文件
# redis 配置文件示例 # 当你需要为某个配置项指定内存大小的时候,必须要带上单位, # 通常的格式就是 1k 5gb 4m 等酱紫: # # 1k => 1000 bytes # 1kb ...
- 转 Oracle Cluster Health Monitor(CHM)简介
Cluster Health Monitor(以下简称CHM)是一个Oracle提供的工具,用来自动收集操作系统的资源(CPU.内存.SWAP.进程.I/O以及网络等)的使用情况.CHM会每秒收集一次 ...
- C语言的面向对象技术
引言:面向过程的C有效率高,代码紧凑的特点,在单片机嵌入式领域是C的主要阵地,while(1)+中断是其主要的开发模式,但是当系统复杂到一定程度,想要添加一个功能需要改动很多地方,耦合性太强:跟别人交 ...
- vi编辑器查找
当你用vi打开一个文件后,因为文件太长,如何才能找到你所要查找的关键字呢? 你在命令模式下敲斜杆( / )这时在状态栏(也就是屏幕左下脚)就出现了 “/” 然后输入你要查找的关键字敲回车就可以了. 如 ...
- TI德州芯片TLV系列和TPS系列芯片区别(转)
TLV和TPS一般会有pin to pin的对应型号: 一般来讲,TPS精度.准确度和性能会好一些,所以价钱要贵一些: 对应TLV就是一样可以实现上述功能,但是精度和性能等级是稍微低一点的: 具体选择 ...