T147403 「TOC Round 4」吃,都可以吃
若不考虑 \(m\) 的限制,打表可以发现:
- 当 \(p=2^n\left(n>1\right)\) 时,最大的 \(f_i\) 是 \(5\),有十个 \(i\) 的 \(f_i\) 是 \(5\),它们可以通过 \(p\) 算出来。
- 当 \(p=3\times 2^n\left(n>0\right)\) 时,最大的 \(f_i\) 是 \(5\),有一个 \(i\) 的 \(f_i\) 是 \(5\),它可以通过 \(p\) 算出来。
- 当 \(p=2\) 时,最大的 \(f_i\) 是 \(f_6=f_7=f_8=f_{14}=f_{15}=f_{22}=f_{23}=f_{24}=f_{30}=f_{31}=6\)。
- 当 \(p=3\) 时,最大的 \(f_i\) 是 \(f_{15}=6\)。
- 当 \(p=5\) 时,最大的 \(f_i\) 是 \(f_{79}=5\)。
剩下最大的 \(f_i\leq 4\),而 \(4\) 的分布是很密集的。到后来就固定了,因为 \(p^2\) 无法对前 \(100\) 产生影响。
所以讨论完上面的情况,然后用暴力跑即可。
具体证明我也不会,可以问 \(\text A\color{red}{\text{utumnKite}}\) 神仙,我就暂时咕咕咕了。
code:
#include<bits/stdc++.h>
using namespace std;
#define Db double
#define Min(x,y)((x)<(y)?x:y)
#define For(i,x,y)for(i=x;i<=(y);i++)
#define int long long
const int num[10]={3,4,7,11,12,15,20,28,60,92};
int f[100005],p,n,m;
void work()
{
int mx=0,j,i;
For(i,1,100000)
{
f[i]=6;
For(j,1,signed(sqrt(Db(i))))
if(j!=p)f[i]=Min(f[i],f[i-j*j]+1);
}
For(i,1,Min(100000,n))
if(f[i]>mx)mx=f[i];
cout<<mx<<endl;
For(i,1,n)
if(f[i]==mx)
{
if(!m--)break;
cout<<i<<' ';
if(i==15&&p==3||i==31&&p==2||i==79&&p==5)break;
}
}
bool pd(bool type)
{
int x=p;
if(!type)
{
if(x%4)return 0;
x>>=2;
}
else
{
if(x%6)return 0;
x/=6;
}
while(x>1)
if(x&1)return 0;
else x>>=1;
return 1;
}
signed main()
{
int i;
cin>>n>>p>>m;
if(pd(0))
{
For(i,0,9)
if(num[i]*p*(p>>1)>0&&num[i]*p*(p>>1)<=n)
{
if(!i)cout<<"5\n";
if(m--)cout<<num[i]*p*(p>>1)<<' ';
else exit(0);
}
else break;
if(!i)work();
}
else if(pd(1)&&14*(p/3)*(p/3)<=n)
{
cout<<"5\n";
if(m--)cout<<14*(p/3)*(p/3)<<' ';
}
else work();
while(m>0)cout<<"-1 ",m--;
return 0;
}
T147403 「TOC Round 4」吃,都可以吃的更多相关文章
- [LOJ#531]「LibreOJ β Round #5」游戏
[LOJ#531]「LibreOJ β Round #5」游戏 试题描述 LCR 三分钟就解决了问题,她自信地输入了结果-- > -- 正在检查程序 -- > -- 检查通过,正在评估智商 ...
- [LOJ#526]「LibreOJ β Round #4」子集
[LOJ#526]「LibreOJ β Round #4」子集 试题描述 qmqmqm有一个长为 n 的数列 a1,a2,……,an,你需要选择集合{1,2,……,n}的一个子集,使得这个子集中任意两 ...
- [LOJ#522]「LibreOJ β Round #3」绯色 IOI(危机)
[LOJ#522]「LibreOJ β Round #3」绯色 IOI(危机) 试题描述 IOI 的比赛开始了.Jsp 和 Rlc 坐在一个角落,这时他们听到了一个异样的声音 …… 接着他们发现自己收 ...
- loj #547. 「LibreOJ β Round #7」匹配字符串
#547. 「LibreOJ β Round #7」匹配字符串 题目描述 对于一个 01 串(即由字符 0 和 1 组成的字符串)sss,我们称 sss 合法,当且仅当串 sss 的任意一个长度为 ...
- [LOJ#530]「LibreOJ β Round #5」最小倍数
[LOJ#530]「LibreOJ β Round #5」最小倍数 试题描述 第二天,LCR 终于启动了备份存储器,准备上传数据时,却没有找到熟悉的文件资源,取而代之的是而屏幕上显示的一段话: 您的文 ...
- [LOJ#516]「LibreOJ β Round #2」DP 一般看规律
[LOJ#516]「LibreOJ β Round #2」DP 一般看规律 试题描述 给定一个长度为 \(n\) 的序列 \(a\),一共有 \(m\) 个操作. 每次操作的内容为:给定 \(x,y\ ...
- [LOJ#515]「LibreOJ β Round #2」贪心只能过样例
[LOJ#515]「LibreOJ β Round #2」贪心只能过样例 试题描述 一共有 \(n\) 个数,第 \(i\) 个数 \(x_i\) 可以取 \([a_i , b_i]\) 中任意值. ...
- [LOJ#525]「LibreOJ β Round #4」多项式
[LOJ#525]「LibreOJ β Round #4」多项式 试题描述 给定一个正整数 k,你需要寻找一个系数均为 0 到 k−1 之间的非零多项式 f(x),满足对于任意整数 x 均有 f(x) ...
- LibreOJ #517. 「LibreOJ β Round #2」计算几何瞎暴力
二次联通门 : LibreOJ #517. 「LibreOJ β Round #2」计算几何瞎暴力 /* LibreOJ #517. 「LibreOJ β Round #2」计算几何瞎暴力 叫做计算几 ...
随机推荐
- 2020年Android开发最新整理阿里巴巴、字节跳动、小米面经,你不看看吗?
前言 2020年是转折的一年,上半年疫情原因,很多学android开发的小伙伴失业了,虽找到了一份工作,但高不成低不就,下半年金九银十有想法更换一份工作,很多需要大厂面试经验和大厂面试真题的小伙伴,想 ...
- 03 . Go框架之Gin框架从入门到熟悉(Cookie和Session,数据库操作)
Cookie Cookie是什么 HTTP是无状态协议,服务器不能记录浏览器的访问状态,也就是说服务器不能区分两次请求是否由同一个客户端发出 Cookie就是解决HTTP协议无状态的方案之一,中文是小 ...
- STM32入门系列-复位程序
已经对启动文有了大致了解,再来看看系统在复位过程中做了哪些工作.复位程序如下: 1 ; Reset handler 2 3 Reset_Handler PROC 4 5 EXPORT Reset_Ha ...
- C# 实现十六进制Unicode编码字符串转换为汉字
网上找了几个方法,但是运行之后会报错,提示要解析的字符串格式不正确.然后我猜想可能是传入的字符串 \u60a8\u4eca\u65e5\u5df2\u7b7e\u5230 中带"\" ...
- JS中this的指向性问题
一.this用于访问当前方法所属的对象,谁调用的方法,方法就属于谁 // 普通函数 let obj = { a : 12, fn() { console.log(this == obj); // tr ...
- Lagrange插值C++程序
输入:插值节点数组.插值节点处的函数值数组,待求点 输出:函数值 代码如下:把printf的注释取消掉,能打印出中间计算过程,包括Lagrange多项式的求解,多项式每一项等等(代码多次修改,这些pr ...
- Sql 解析XML 解决方案参考
1.定义存储过程 -- =============================================-- Author: <Author,,Name>-- Create da ...
- Core WebApi项目快速入门(二):Filter详解
Core的核心是DI,面向AOP的编程方式.在.NetCore中AOP的实现很大程度上依赖于Filter.下面就Core WebApi中的Filter进行举例. 其中鉴权中心我个人认为是比较重要的概念 ...
- Spring源码解析之BeanFactoryPostProcessor(一)
BeanFactoryPostProcessor 在前面几个章节,笔者有介绍过BeanFactoryPostProcessor,在spring在解析BeanDefinition之后,正式初始化bean ...
- HTML 5 <input> multiple 属性
<form action="demo_form.asp" method="get"> Select images: <input type=& ...