题意 :给你n个数,问你是否存在一个多项式(最多三次方)满足f(i)= xi。

思路:讲一个神奇的思路:

x- (x - 1)3 = 3x2 - 3x + 1

x2 - (x - 1)2 = 2x + 1

x - (x - 1) = 1

1 - 1 = 0

看了上面这么多,其实已经可以发现一件事情了:如果相邻常数减一次那么就是0;相邻一次式减一次降为常数,减两次为0;相邻二次式减一次降为一次式,减两次降为常数,减三次....

由此我们可以知道,如果存在一个多项式(最多三次方)满足f(i)= xi,那么我相邻的数相减4次必为0,如果不满足,那肯定不是同个式子里的

代码:

#include<cstdio>
#include<set>
#include<vector>
#include<cmath>
#include<queue>
#include<cstring>
#include<algorithm>
typedef long long ll;
using namespace std;
const int maxn = + ;
const double INF = 0x3f3f3f3f;
const ll MOD = ;
ll num[maxn]; int main(){
int T;
scanf("%d", &T);
while(T--){
ll n;
scanf("%lld", &n);
for(int i = ; i <= n; i++)
scanf("%lld", &num[i]);
for(int i = ; i <= ; i++){
for(int j = n ;j > i; j--)
num[j] = num[j] - num[j - ];
}
bool flag = true;
for(int i = ; i <= n; i++){
if(num[i]){
flag = false;
break;
}
}
if(flag) printf("YES\n");
else printf("NO\n");
}
return ;
}
/*
Input:
3
1 3
5 0 1 2 3 4
5 0 1 2 4 5 Output:
YES
YES
NO
*/

最新文章

  1. java泛型详解
  2. 给VIM安装插件。让ubuntu的vim强大起来
  3. java.util.Date和java.sql.Date的区别和相互转化(转)
  4. linux下使用svn
  5. 怎么通过IE连接本机oracle数据库
  6. 在eclipse中部署发布web项目 和 更改eclipseweb项目发布的路径
  7. python -- 函数传参
  8. MFC获取当前时间
  9. 从零開始学android&amp;lt;RelativeLayout相对布局.十六.&amp;gt;
  10. Samba匿名用戶仅仅唯读访问
  11. Python可视化学习(2):Matplotlib快速绘图基础
  12. d3js scales深入理解
  13. webapi 下载Ftp文件并返回流到浏览器完成文件下载
  14. Python 安装包报错
  15. css 调转180度:transform: rotate(180deg);
  16. TypeError: add() argument after * must be an iterable, not Settings的错误原因
  17. python class根据配置自定义函数
  18. TCP三次握手&amp;四次挥手(示意图)
  19. 安装OpenLDAP步骤
  20. 理解JavaScript中BOM和DOM的关系

热门文章

  1. 自定义vueawesomeswiper分页器样式
  2. xpath教程 1 - 什么是XPath
  3. sql server中的日期详解使用(convert)
  4. mysql 权限管理介绍
  5. MySQL完全卸载方法
  6. Muse UI 样式
  7. centos7 设置 静态IP
  8. img height test
  9. JSP—内置对象
  10. C/S模型之命名管道