博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVA, 11129 An antiarithmetic permutation
阅读量:5040 次
发布时间:2019-06-12

本文共 660 字,大约阅读时间需要 2 分钟。

题意:读入一个数n,代表从0到n-1的数列,让你输出一个数列,这个数列的子序列均不为等差数列

思路:= =参考了网上大神的代码,得到的一个规律:将等差(?)数列按奇偶位置分成两个数列,再重复这一步骤,最后得到的数列一定是非等差数列,其实就是分治法

  ps:分治法:将大的问题分为无数个小问题,解决后再将得到的解合并,得到大问题的答案

例:0 1 2 3 4 5 6 7

 ->(0 2 4 8)(1 3 5 7) 此刻我们得到了两个小等差数列,但此时数列已不是等差数列了

 ->(0 4)(2 8)(1 5)(3 7)= =因为数列个数小于3,因而小数列已无法判断是否等差,但此刻数列已满足要求,即子序列不为等差数列

下面是代码:

1 #include 
2 #include
3 using namespace std; 4 int num; 5 int n[10000],t[10000]; 6 bool datecin() 7 { 8 if(scanf("%d",&num)!=EOF&&num) 9 return true;10 return false;11 }12 13 void dateins()14 {15 for(int i=0;i

答案有多种,应该是有其他的方法,后面再找一找。

转载于:https://www.cnblogs.com/byzsxloli/p/5408483.html

你可能感兴趣的文章
Android 音量调节
查看>>
HTML&CSS基础学习笔记1.28-给网页添加一个css样式
查看>>
windows上面链接使用linux上面的docker daemon
查看>>
Redis事务
查看>>
Web框架和Django基础
查看>>
python中的逻辑操作符
查看>>
CSS兼容性常见问题总结
查看>>
HDU 1548 A strange lift (Dijkstra)
查看>>
每天一个小程序—0005题(批量处理图片大小)
查看>>
C# 启动进程和杀死进程
查看>>
tcp实现交互
查看>>
IIS的各种身份验证详细测试
查看>>
JavaScript特效源码(3、菜单特效)
查看>>
聊聊、Zookeeper Linux 单服务
查看>>
Linux常用命令总结
查看>>
yii模型ar中备忘
查看>>
C#线程入门
查看>>
CSS清除浮动方法
查看>>
JVM内存回收机制简述
查看>>
洛咕 P2480 [SDOI2010]古代猪文
查看>>