XDOJ_1079_暴力技巧

http://acm.xidian.edu.cn/problem.php?id=1079

枚举每一个区间不行,就枚举每一对存在的数,然后用最大子串的思路,中间加上判断枚举的数是否存在。

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;

int a[100005],n,m,has[15];

int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        memset(has,0,sizeof(has));
        scanf("%d%d",&n,&m);
        int cnt = 0;
        for(int i = 1;i <= n;i++)
        {
            scanf("%d",&a[i]);
            if(!has[a[i]])    has[a[i]] = 1;
        }
        int ans = 0;
        for(int i = 1;i <= m;i++)
        {
            for(int j = 1;j <= m;j++)
            {
                if(i == j)    continue;
                if(!has[i] || !has[j])    continue;
                int sum = 0,maxx = 0,flag = 0;
                for(int k = 1;k <= n;k++)
                {
                    if(a[k] == i)    sum++;
                    else if(a[k] == j)
                    {
                        sum--;
                        flag = 1;
                    }
                    if(sum < 0)
                    {
                        sum = 0;
                        flag = 0;
                    }
                    if(flag)    maxx = max(maxx,sum);
                    else    maxx = max(maxx,sum-1);
                }
                ans = max(ans,maxx);
            }
        }
        printf("%d\n",ans);
    }
    return 0;
}
时间: 2024-10-15 22:20:10

XDOJ_1079_暴力技巧的相关文章

HDU 4509 湫湫系列故事——减肥记II(线段树-区间覆盖 或者 暴力技巧)

http://acm.hdu.edu.cn/showproblem.php?pid=4509 题目大意: 中文意义,应该能懂. 解题思路: 因为题目给的时间是一天24小时,而且还有分钟.为了解题方便,我们将小时换成分钟,那么一天24小时,总共有1440分钟.顾我就可以把一天里的任意HH:MM时间换成分钟.就这样一天的时间就变成[0,1440]区间了. 因为所给的活动最多是5*10^5,如果把活动的时间在线段[0,1440]都修改,那么时间的复杂度最坏是O(5*10^5*1440). (1)方法一

关于三分的暴力技巧(暴力好)

关于三分的暴力技巧 以下为暴力专场(前方高能) 现在以hdu4454为例 1.这道题的一个总结点是暴力对于精度不超过1e-2的东西,我们可以直接暴力求解 2.几何:对于一个圆(整个几何)都需要掌握三角函数的运用,这里有一篇非常不错的文章可以学习 3.圆到矩形的最短距离 关于圆到矩形的最短距离,主要是关于是到 矩形上垂直一点到圆最小(这时x和y都被"包围"): 矩形的四个顶点 具体看代码实现 现在附上超级牛逼的暴力代码(感谢qt神犇) #include<cmath> #inc

Codeforces Round #312 (Div. 2)——C暴力技巧——Amr and Chemistry

Amr loves Chemistry, and specially doing experiments. He is preparing for a new interesting experiment. Amr has n different types of chemicals. Each chemical i has an initial volume of ai liters. For this experiment, Amr has to mix all the chemicals

FZU2077——暴力技巧——The tallest tree

lzs种了n棵树,每棵树每天长高一定的高度.某一天,lzs想知道树长得怎么样了,你能求出那一天最高的树有多高吗? Input 有多组测试数据,每组数据第一行输入两个整数n,m(1<=n,m<=100000),接下来n行,每行两个整数a,b(0<=a,b<=100000),表示第i棵树在第0天的高度以及每天生长的高度.接下来m行,每行一个整数x(0<=x<=100000),表示询问第x天最高的树有多高. Output 对于每个询问输出一行,为当天最高的树的高度. Samp

Blizzard(暴力技巧+精度问题)

Blizzard Description 在魔兽争霸之冰封王座中有一个叫冰川的地图,里面有魔法传送阵,可以传送到这个此传送阵的对称传送阵位置.假设地图是圆形的,地图中心也就是圆心,在圆上每个点都有一个传送阵,可以传送到与地图圆心中心对称的位置.现在因为贪婪的大魔法师,人族正经历一场浩劫,作为聪明的兽族先知,信奉趁你病要你命的原则,想要趁机占领人族的土地.你能计算最短距离能够使兽族大军尽快到达人族营地? Input 第一行一个整数r(1 <= r <= 1000)代表地图的半径.接下来两行两个整

GDOI2016游记

前言 今年的G(gao)D(dan)OI在四会中学(偏远地区) (这也算前言 由于赛艇不知道总结怎么写了,我就去抄我GDKOI总结的形式了. DAY 0 宾馆前台的那个地方让我觉得高能,然而初三并不住那-- 辣鸡WIFI啊! 看视频只能买流量快餐了(听说有5.1假期的10元1G 吃饭都是去四会中学,首先抱怨一下感觉车程有点长--饭菜还好,半自助的形式. 本来说要用samjia电脑玩鬼畜天线宝宝(雾 然而下错了一次我之前发现的链接又蜜汁被取消后,为了不浪费流量,就不下了-- DAY 1 过程: 辣

算法复习计划

写在前面 随着四月的到来, 离省选越来越近了. 从NOIP到现在, 学到了很多很多东西, 有的学的比较深入, 有的只是略知一二 从明天开始, 进行针对省选的算法复习计划. 省选前完成. 重点是对算法的理解和应用, 还会注重模板习惯的养成 计划内容 1. 数据结构 一直觉得我数据结构学的还可以, 不过列出来发现会的也没多少. 少就少吧, 省选够用就行... 线段树 树状数组 并查集 哈希表 STL treap splay 树链剖分 主席树(可忽略) 字符串(KMP, 后缀数组) 2. 图论 掌握经

野生前端的数据结构练习(12)贪心算法

参考代码可见:https://github.com/dashnowords/blogs/tree/master/Structure/GreedyAlogrithm 一.贪心算法 贪心算法属于比较简单的算法,它总是会选择当下最优解,而不去考虑单次递归时是否会对未来造成影响,也就是说不考虑得到的解是否是全局最优.在很多实际问题中,寻找全局最优解的代价是非常大的,这时候就可以通过求次优解来解决问题,这种思想其实在软件工程中很常见,例如React中著名的DOM Diff算法中需要对比两棵DOM树,树的完

暴力破解sshd服务的密码的小技巧

暴力破解sshd服务的密码的小技巧 准备环境   1:在虚拟机上准备一台XP系统   2:开启两台Linux系统 超级管理员为root 密码为 123456       192.168.1.63  密码 123456       192.168.1.65  密码 123456 注:找来的破解软件,肯定被编写者留下了后门,所以为了便于安全和测试,我只能用虚拟机上的XP系统和Linux系统来进行测试,Linux系统上的账号密码都设置简单点,便于快速出现结果.