同花顺_排名第一的炒股软件

同花顺_排名第一的炒股软件洛谷P2652同花顺这是在2017日照夏令营的D1T2,我认为质量相当高的一道题,第一次在赛场上做的时候爆零了,当时态度不很端正,暴力不想打,想投机取巧骗分,还是不要把希望压在不确定的事情上,有多

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

洛谷P2652 同花顺

这是在2017日照夏令营的D1T2,我认为质量相当高的一道题,第一次在赛场上做的时候爆零了,当时态度不很端正,暴力不想打,想投机取巧骗分,还是不要把希望压在不确定的事情上,有多少分实实在在拿着就拿着,然后能力之外的再尽可能获得更多。言归正传,这个用类似枚举的思路来做,枚举一个同花顺的左右端点,具体是外循环先确定j,然后枚举可能的第一个左端点,然后用n-maxans);这个的证明是向李子晗学习的,回来后我又在洛谷上做了一遍,50分。接下来是核心部分:先说我为什么是错的,我的ij中间是连续的递增+1的同花顺,然后这一部分不用换,n-最大的连续序列就是答案,但正解是a[右端点].num-a[左端点].num+1<=n;

证明如下:

j                                                                         i

 |                 |       |           |                                   |

 

这是i和j确定的序列,满足上面那个条件j就左移,为什么呢?因为要保证i,j内的序列是连续递增的(在换完之后),现在只要证明它能换完就可以了,如果a[右端点].num-a[左端点].num+1<=n

,那就是说序列总长度最多为n,好了,现在我们有n个数,那怎么换都能换到+1 递增上去,空缺就都能补上,ij之间的都不用动,所以求最大的ij之外的数的个数就好了。

注:今天向苗若桐学习了结构体重载运算符,会用了unique函数。

 

#include<bits/stdc++.h>
using namespace std;
struct node
{
    int color;
    int num;
    bool operator < (const node &a)const
    {
        if(color==a.color)
        return num<a.num;
        return color<a.color;
    }
    
    bool operator == (const node &a)const
    {
        return num==a.num&&color==a.color;
    }
    
    bool operator != (const node &a)const
    {
        return !(*this==a);
    }
    
}a[100001];


int n;
int ans;


void Cin(int &x)
{
    char c=getchar();x=0;
    while(c>'9'||c<'0') c=getchar();
    while(c<='9'&&c>='0') x=x*10+c-'0',c=getchar();
}

int main()
{

    cin>>n;
    int i;
    for(i=1;i<=n;i++)  Cin(a[i].color),Cin(a[i].num);
    sort(a+1,a+n+1);
    int from=1,to=1;
    int l=unique(a+1,a+n+1)-a;
    int maxn=0;
    for(i=1;i<l;i++)
    {
      for(int j=i;i>=1;j--)
      {
          if(a[i].color==a[j].color&&a[i].num-a[j].num+1<=n)
          maxn++;
          else
          break;
      }
      ans=max(ans,maxn);
      maxn=0;
    }
    cout<<n-ans;
    return 0;
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/166952.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Docker这个新软件究竟是用来干嘛的???

    Docker这个新软件究竟是用来干嘛的???

    2022年2月10日
    32
  • 用计算机打印出1000,惠普打印机1000一直连不上win7系统电脑

    用计算机打印出1000,惠普打印机1000一直连不上win7系统电脑

    2021年11月27日
    75
  • CAN协议 J1939「建议收藏」

    CAN协议 J1939「建议收藏」转自:http://blog.sina.com.cn/s/blog_bf97bd7e0102wl2y.html这几天在公司看了SAE推行的J1939标准(SAE:美国汽车工程协会),这里整理下学习要点,主要包含以下几个协议:物理层SAEJ1939-11(未看)数据链路层SAEJ1939-21网络层SAEJ1939-31(未看)应用层SAEJ1939-…

    2022年5月26日
    61
  • Matlab归一化函数(mapminmax)

    Matlab归一化函数(mapminmax)功能:将矩阵的每一行处理成[-1,1]区间。处理需要归一化的m*n矩阵X,归一化后的矩阵记为Y。主要有5种调用形式1.[Y,PS]=mapminmax(X,YMIN,YMAX)其中,YMIN是我们期望归一化后矩阵Y每行的最小值,YMAX是我们期望归一化后矩阵Y每行的最大值。例1:待处理矩阵X=[456;789]我们期望归一化后每行的最小值为0,最大值为1.程序如下…

    2022年6月29日
    34
  • java单例模式——详解JAVA单例模式及8种实现方式

    java单例模式——详解JAVA单例模式及8种实现方式##单例模式是最简单也是最基础的设计模式之一,下边一起学习一下单例模式!一.单例模式的定义:单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能。每台计算机可以有若干个打印机,但只能有一个PrinterSpooler,以避免两个打印作业同时输出到打印机中。每台计算机可以有若干通信端口,系统应当集中管理这些通信端口,以避免一个通信端口同时被两个请求同时调用

    2022年7月8日
    14
  • 微信小程序上传图片失败总结[通俗易懂]

    微信小程序上传图片失败总结[通俗易懂]错误:selfsignedcertificate这个是请求地址需要输第三方认证的域名,这个需要后端人员配置。错误:微信开发工具上可以上传图片,但是到体验版不行提示请求失败这个应该是在微信公众号平台里配置uploadFile合法域名…

    2022年6月18日
    195

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号