codeforces1045B
自己瞎鸡巴yy了一下,可知若一个数X不能被表示出来,那么X所有的表示方法都在A集合中,如a1,a2,a3······an-1,an-2中若a1+ai不能被表示出来,那么如果a1到ai是回文(这里回文是指a2-a1=an-an-1,a3-a2=an-1-an-1大概懂了就可以),这样用一个数组存一下两两之间的差哈希一下就可以了
#include <cstdio>
#include <algorithm>
using namespace std;
#define int long long
const int N=,md=,ha=;
int n,m,a[N],b[N],de[N],has1[N],has2[N],re[N],cnt=;
inline bool jud(int l,int r)
{
return ((has1[r]-has1[l-]*de[r-l+]%md+md)%md==(has2[l]-has2[r+]*de[r-l+]%md+md)%md)?:;
}
signed main()
{
int i,bo; scanf("%lld%lld",&n,&m); for(i=;i<=n;i++)scanf("%lld",&a[i]); sort(a+,a+n+);
for(i=;i<n;i++)b[i]=a[i+]-a[i]; de[]=1LL; for(i=;i<=n;i++)de[i]=de[i-]*ha%md;
for(i=;i<n;i++)has1[i]=(has1[i-]*ha%md+b[i])%md; for(i=n-;i>=;i--)has2[i]=(has2[i+]*ha%md+b[i])%md;
for(i=;i<=n;i++)
{
bo=;
if(i!=)bo&=jud(,i-);
if(i!=n)
{
bo&=(a[]+a[i]+m==a[i+]+a[n]); if(i!=n-)bo&=jud(i+,n-);
}if(bo)re[++cnt]=(a[]+a[i])%m;
}printf("%lld\n",cnt); sort(re+,re+cnt+); for(i=;i<=cnt;i++)printf("%lld ",re[i]);
}
codeforces1045B的更多相关文章
- codeforces1045B Space Isaac 【manacher】【差分】
题目大意: 题目是将$[0,m)$的数划成了两个集合,其中一个集合的元素个数不超过$n$.问在第一个集合中选出的数加上第二个集合中选出的数的和中没有出现的数有哪些. 题目分析: 很有意思的一道题.方便 ...
- Noip前的大抱佛脚----赛前任务
赛前任务 tags:任务清单 前言 现在xzy太弱了,而且他最近越来越弱了,天天被爆踩,天天被爆踩 题单不会在作业部落发布,所以可(yi)能(ding)会不及时更新 省选前的练习莫名其妙地成为了Noi ...
随机推荐
- PAT A1120 Friend Numbers (20 分)——set
Two integers are called "friend numbers" if they share the same sum of their digits, and t ...
- 提示文件过大无法复制到U盘怎么解决
1.U盘作为一个便携的移动存储工具,在我们的生活中扮演重要的角色,但 是我们经常会遇到在复制文件到U盘中的时候,U盘明显有很大的空间,却 提示文件过大无法复制,今天,我教大家一步解决这个问题!! 2. ...
- JAVA中map的分类和各自的特性
java为数据结构中的映射定义了一个接口java.util.Map,他实现了四个类,分别是:HashMap,HashTable,LinkedHashMapTreeMap Map不允许键重复,但允许值重 ...
- 基于TerraExplorer Pro 6.1 实现对Shape中Feature对象拾取查询
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Apache cxf暴露接口以及客户端调用之WebService初步理解
在我们真实的项目中,经常会调用别人提供给我们的接口,或者在自己的团队中, restful风格的前后端分离也经常会提供一个后端接口暴露出去供app,或者.net/C/C++程序员去调用,此时就需要使用到 ...
- C#中用HttpWebRequest中发送GET/HTTP/HTTPS请求 (转载)
这个需求来自于我最近练手的一个项目,在项目中我需要将一些自己发表的和收藏整理的网文集中到一个地方存放,如果全部采用手工操作工作量大而且繁琐,因此周公决定利用C#来实现.在很多地方都需要验证用户身份才可 ...
- Spring Aop: 关于继承和execution target this @annotation
1.多态 target指通过这个对象调用的方法 (匹配标识对象的所有方法) getMethod() this指调用这个对象的方法 (匹配标识对象实现的方法) getDeclaredMethod( ...
- 阿里Java面经大全(整合版)
本文里的面经内容全部来源于牛客网,作为秋招备战复习与查缺补漏时使用.里面部分面经有我的注释和想法,以及部分解答,不一定正确,大家可以查询补充. 阿里巴巴,三面,java实习 昨天晚上11点打电话来,问 ...
- (10)学习笔记 ) ASP.NET CORE微服务 Micro-Service ---- Ocelot+Identity Server
用 JWT 机制实现验证的原理如下图: 认证服务器负责颁发 Token(相当于 JWT 值)和校验 Token 的合法性. 一. 相关概念 API 资源(API Resource):微博服务器接口. ...
- Asp.net MVC 中Ajax的使用
Asp.net MVC 抛弃了Asp.net WebForm那种高度封装的控件,让我们跟底层的HTML有了更多的亲近.可以更自由.更灵活的去控制HTML的结构.样式和行为.而这点对于Ajax 的应有来 ...