G - Antiarithmetic?

uva 10730

题意:给出一列数字,如果其中存在长度大于等于3的等差数列,输出no,不存在就输出yes

这道题标定了数列长度n,而且这n个数数据范围是从0到n-1,没有相同的数,这就给我们枚举提供了方便,记录每个数字出现的位置,枚举公差,判断位置对不对

#include <iostream>
#include <cstdio>
#define REP(i,n) for(int i=1;i<=n;i++)
using namespace std;
const int maxn=10000+10;
int pos[maxn];
int main()
{
    int n;
    char ch;
    while(scanf("%d%c",&n,&ch)&&n)
    {
        int t;
        REP(i,n) {scanf("%d",&t),pos[t]=i;}
        int flag=0;
        for(int i=1;i<n;i++)
        {
            for(int j=1;j*2+i<n;j++)
            {
                if(pos[i]<pos[i+j]&&pos[i+j]<pos[i+j+j])
                    flag=1;
                if(flag) break;
            }
            if(flag) break;
        }
        printf(flag?"no":"yes");
        puts("");
    }
    return 0;
}

时间: 2024-10-26 02:48:18

G - Antiarithmetic?的相关文章

Codefroces 852 G. Bathroom terminal

G. Bathroom terminal Smith wakes up at the side of a dirty, disused bathroom, his ankle chained to pipes. Next to him is tape-player with a hand-written message "Play Me". He finds a tape in his own back pocket. After putting the tape in the tap

Educational Codeforces Round 21 G. Anthem of Berland(dp+kmp)

题目链接:Educational Codeforces Round 21 G. Anthem of Berland 题意: 给你两个字符串,第一个字符串包含问号,问号可以变成任意字符串. 问你第一个字符串最多包含多少个第二个字符串. 题解: 考虑dp[i][j],表示当前考虑到第一个串的第i位,已经匹配到第二个字符串的第j位. 这样的话复杂度为26*n*m*O(fail). fail可以用kmp进行预处理,将26个字母全部处理出来,这样复杂度就变成了26*n*m. 状态转移看代码(就是一个kmp

张书乐:死活撩不到粉丝G点,内容创业者该咋整?

内容创业的大风口来了,可不是吗!那一年不是内容创业的风口. 1980年代,是朦胧诗.报告文学和武侠:1990年代,言情与少女,新世纪里就更多了,网络文学.网络影视以及各种IP大阵,现在则是自媒体的内容创业. 只是,有时候是来赚钱的,有时候是来赚名的,总的来说,都是来赚存在感的. 文/张书乐(人民网.人民邮电报专栏作家) 新著有<微博运营完全自学手册> 各家平台都准备好了,微信公号里集合了超过千万的运营者:微博再度复活,开始分门别类的做垂直内容:连天涯社区这个老化石,都推出了天涯号,想要拉拢一把

gcc/g++命令

参考:http://www.cnblogs.com/cryinstall/archive/2011/09/27/2280824.html 注意:gcc和g++是linux系统下的编程常用指令,C语言文件用gcc,cpp文件用g++. 1.预处理  g++ -E filename.cpp > filename.i 功能:输出预处理后的文件,linux下以.i为后缀名.只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里 . 这一步主要做了这些事情:宏的替换,还有注释的消除,还有找到相关的

win7,M?i?n?d?m?a?n?a?g?e?r?2?0?1?2使用模板时弹出Runtime error R6025解决方法

Mindjet.MindManager2012.v10.0在应用个别模板时提示"参数错误",然后自动关闭. 解决办法: 如果是win7系统,可以进入C:\Users\(用户名)\AppData\Local\Mindjet\MindManager\10\Library\ENU\Templates, 可以看到如下模板:Management/Meetings and Events/Personal Productivity/Problem Solving/Project Management

CentOS安装g++

本文为个人学习记录. 一.一般操作 Centos支持使用yum安装,安装软件一般格式为yum install....,注意此时是在root权限下. 1 yum install gcc-c++ 二.若出现: 说明此时不是在root权限下,只需输入:su,然后在输入密码以后,重新输入上述命令即可. 最后可以使用一下操作查看是否安装成功 1 which g++ Ref: http://blog.csdn.net/dream_1996/article/details/69397089

2017Summmer_上海金马五校 F题,G题,I题,K题

以下题目均自己搜 F题  A序列 一开始真的没懂题目什么意思,还以为是要连续的子串,结果发现时序列,简直智障,知道题意之后,好久没搞LIS,有点忘了,复习一波以后,直接双向LIS,处理处两个数组L和R,然后对整个数组扫一遍对于每一个下标取m=min(L[i],R[i]);用ans取2*m-1中的最大值.LIS用nlogn的算法实现,二分用的是lower_bound(),直接看代码. //Author: xiaowuga #include <bits/stdc++.h> #define maxx

codeforces gym101243 A C D E F G H J

gym101243 A 1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<cstring> 5 #include<algorithm> 6 #include<map> 7 #include<queue> 8 #include<stack> 9 #include<vector> 10 #include<bit

SVMtrain的参数c和g的优化

SVMtrain的参数c和g的优化 在svm训练过程中,需要对惩罚参数c和核函数的参数g进行优化,选取最好的参数 知道测试集标签的情况下 是让两个参数c和g在某一范围内取离散值,然后,取测试集分类准确率最佳的参数 不知道测试集标签的情况下 (1)利用交叉验证的方法:(k-fold cross validation) Start bestAccuracy = 0  bestc = 0  bestg = 0  //n1 , n2 ,k都是事先给定的值  for c = 2^(-n1) : 2^(n1