zoukankan      html  css  js  c++  java
  • CodeForces 577B 模和vecto

    上一年的最后一次训练赛被卡了AK...

    一开始天真的认为每个数字都进行取模 然后认为它是一个vol为取模后的数 val为0的01背包 去计算dp[m]能否被装满

    只想到了其中的一点..简直天真 

    后来看百度学习了一下vector的部分用法 

    头文件是queue 可以从0向q.size()遍历  for(int i=0;i<len;i++)

    push_back() 往最后面放数

    size()大小

    再加个数组来判断某个数字是否出现过 把每次的东西都遍历一遍 

    如果每次输入x后不进行ok的判断会超时 最多是O(n*n)吧貌似。。

    #include<stdio.h>
    #include<string.h>
    #include<algorithm>
    #include<map>
    #include<queue>
    using namespace std;
    int main(){
    int n,m;
    while(~scanf("%d%d",&n,&m))
    {
        map<int ,int >f;
        f.clear();
        bool ok=false;
        vector<int >q;
        int x;
        for(int i=0;i<n;i++)
        {
            scanf("%d",&x);
            x%=m;
            int len=q.size();
            if(ok==false)
        {
    
    
            for(int k=0;k<len;k++)
            {
                int e=(q[k]+x)%m;
                if(e==0)
                    ok=true;
                if(f[e]==0)
                {
                    q.push_back(e);
                    f[e]=1;
                }
            }
            if(f[x]==0)
            {
                q.push_back(x);
                f[x]=1;
            }
            if(x==0)
                ok=true;
        }
        }
        if(ok==true)
        {
            printf("YES
    ");
        }
        else printf("NO
    ");
    }
    }
    

      

    嗯...acm真正进行半年了(其实是从九月多到二月多 五个月左右...)

    嗯 以后也要努力!

  • 相关阅读:
    32位与64位操作系统到底有什么区别呢?
    chr()、unichr()和ord()
    Python map filter reduce
    as3.0横向渐变发光字
    Python time format
    Python 使用sys重定向
    as3.0给文字加纹理效果
    my first python
    字符编码(转)
    SWFTOOLS学习笔记一(转)
  • 原文地址:https://www.cnblogs.com/rayrayrainrain/p/5185779.html
Copyright © 2011-2022 走看看