zoukankan      html  css  js  c++  java
  • D. Zero Quantity Maximization ( Codeforces Round #544 (Div. 3) )

    题目链接

    参考题解

    题意:

      给你 整形数组a 和 整形数组b ,要你c[i] = d * a[i] + b[i], 求  在c[i]=0的时候  相同的d的数量 最多能有几个。

    思路:

      1. 首先打开别人的博客。

      2..........

      一开始尝试自己做了做 没做出来,看了别人博客的分析之后发现自己连  d= -b[i]/a[i]都推错了。  kx(大佬)告诉我这题用map存。  于是补了之后交一发,WA5,原因是没有考虑a[i]和b[i]等于0 的时候(这里注意如果a[i]和b[i]都等于0,那么无论d为什么数,都可以) 。  把这部分搞了一下之后再交一,WA37,这次的原因是精度问题  10000000 99999999和 99999999 99999998 的值是一样的,于是推翻了用double的做法。。   最终的结果是把 a[i]和b[i] 都除以公因数,再用pair 存入map数组。

    #include<iostream>
    #include<cstdio>
    #include <cctype>
    #include<algorithm>
    #include<cstring>
    #include<cmath>
    #include<string>
    #include<cmath>
    #include<set>
    #include<vector>
    #include<stack>
    #include<queue>
    #include<map>
    using namespace std;
    #define ll long long
    #define mem(a,x) memset(a,x,sizeof(a))
    #define se second
    #define fi first
    typedef pair<int,int> pii;
    const ll mod=998244353;
    const int INF= 0x3f3f3f3f;
    const int N=2e5+5;
    
    int n;
    int a[N];
    int b[N];
    map<pair<int,int> , int> num;
    
    priority_queue<int>q;
    
    int main()
    {
        cin>>n;
        for(int i=1;i<=n;i++)
            scanf("%d",&a[i]);
        for(int i=1;i<=n;i++)
            scanf("%d",&b[i]);
        
        int maxn=0;
        int cnt=0;
        for(int i=1;i<=n;i++)
        {
            if(a[i]==0)
            {
                if(b[i]==0) cnt++;
            }
            else if(b[i]==0)
            {
                num[ pair<int,int>(1,0) ]++;
                maxn=max(maxn,num[ pair<int,int>(1,0) ] );
            }
            else
            {
                // int c= ,因为实在太长了。。 
                int c= ++num [ pair<int,int>(a[i]/__gcd(a[i],b[i]) , b[i]/__gcd(a[i],b[i]) )];
                maxn=max(maxn,c);
            }
            
        }
        cout<<maxn+cnt<<endl;
        
    }
  • 相关阅读:
    gdb调试core文件
    设计模式之工厂模式
    设计模式之简单工厂模式
    正确理解python的装饰器
    深入理解MVC架构
    django的模板系统过滤器笔记
    python net-snmp 的使用
    用django写个CMS系统
    django的CMS系统(内容管理系统)
    RESTful 的通俗解释
  • 原文地址:https://www.cnblogs.com/thunder-110/p/10500302.html
Copyright © 2011-2022 走看看