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真正进行半年了(其实是从九月多到二月多 五个月左右...)

    嗯 以后也要努力!

  • 相关阅读:
    oracle-sql脚本
    vue生命周期
    使用vue搭建项目(创建手脚架)
    bootcss
    miniMobile(手机)
    mui(手机)
    layui
    Element
    如何学好Spring
    使用Vue做评论+localStorage存储(js模块化)
  • 原文地址:https://www.cnblogs.com/rayrayrainrain/p/5185779.html
Copyright © 2011-2022 走看看