地址:https://nanti.jisuanke.com/t/26017

分析:

现在是给定p,求是否存在这样的数列c,我们可以让p进行fwt变换,然后把点值都三次方根,然后再把得到的点值ufwt成系数

这题主要是判断无解的情况:

1、开三次方根后不是整数

2、最后得到的系数中有负数或者和不为给定的n

3、最后ufwt的过程中出现了非整数

 #include<bits/stdc++.h>
using namespace std;
const int maxn=;
int a[maxn+];
int n;
void fwt(int *a,int n)
{
for(int d=;d<n;d<<=)
for(int m=d<<,i=;i<n;i+=m)
for(int j=;j<d;j++)
{
int x=a[i+j],y=a[i+j+d];
a[i+j]=x+y,a[i+j+d]=x-y;
}
}
bool ufwt(int *a,int n)
{
for(int d=;d<n;d<<=)
for(int m=d<<,i=;i<n;i+=m)
for(int j=;j<d;j++)
{
int x=a[i+j],y=a[i+j+d];
// printf("%d %d\n",i+j,i+j+d);
if((x+y)%!=) return ;
if((x-y)%!=) return ;
a[i+j]=(x+y)/,a[i+j+d]=(x-y)/;
}
return ;
}
bool solve()
{
fwt(a,);
//for(int i=0;i<64;++i) printf("%d ",a[i]);printf("\n");
for(int i=;i<;++i)
{ int type=a[i]<;
int num=abs(a[i]); //printf("%.9f\n",pow(-1,1.0/3));
a[i]=round(pow(num,1.0/)); //printf("%d %d %d\n",i,a[i],num);
if(a[i]*a[i]*a[i]!=num) return ;
if(type) a[i]=-a[i];
}
//printf("ok\n");
if(!ufwt(a,)) return ;
for(int i=;i<;++i)
{
if(a[i]<) return ;
n-=a[i];
}
if(n!=) return ;
for(int i=;i<;++i)
for(int j=;j<=a[i];++j) printf(" %d",i);
printf("\n");
return ;
}
int main()
{
int T;
scanf("%d",&T);
for(int cas=;cas<=T;++cas)
{
printf("Case #%d:",cas);
scanf("%d",&n);
for(int i=;i<;++i) scanf("%d",&a[i]);
if(!solve())printf(" -1\n");
}
return ;
}

最新文章

  1. CSS3写折纸
  2. ASP.NET MVC中给所有的cshtml页面引用命名空间
  3. 2014年黑金FPGA原创教程规划发布
  4. [Linux] 查看系统启动时间
  5. 二叉树学习笔记之二叉查找树(BSTree)
  6. openfire插件开发入门1
  7. STC89c52RC 的EEPROM和AVR的EEPROM
  8. KMP算法_读书笔记
  9. JSP语法
  10. Android 系统自动重启Bug(高通平台)
  11. Microsoft Windows CVE-2017-8464 LNK 远程代码执行漏洞(复现)
  12. linux查看文件的后几行
  13. python 元类的简单解释
  14. php : 文件及文件夹操作(创建、删除、移动、复制)
  15. android 手机拍照返回 Intent==null 以及intent.getData==null
  16. c# 委托初用法
  17. 评微软收购GitHub
  18. 拒绝滥用golang defer机制
  19. Maven 高级应用
  20. Robotlegs2的Starling扩展

热门文章

  1. 多数据源连接Oracle报错,linux熵池耗尽问题
  2. UIScreen, UIWindow
  3. LeetCode 三角形最小路径和
  4. NOIP 2017 D2T1 奶酪
  5. node.js---对文件操作
  6. JS 绘制心形线
  7. 第一章 pyhton基础
  8. Django 模版语法 三
  9. Python9-day3-作业
  10. POJ 1273 Drainage Ditches(最大流Dinic 模板)