牛客编程巅峰赛S2第8场 - 钻石&王者

牛牛选物

https://ac.nowcoder.com/acm/contest/9887/A

A 牛牛选物
解题思路:n<=20,2^20属于1e6级别大小,所以用01表示选不选物品然后枚举找到符合条件的最大值即可。

int Maximumweight(vector<int>& v, vector<int>& g, int V) {
        // write code here
        int mx=-1,n=v.size();
        for(int i=0;i<1<<n;++i){
            int j=0,sv=0,sg=0,p=i;
            while(p>0){
                sv+=p%2*v[j],sg+=p%2*g[j];
                j++;
                p/=2;
            }
            if(sv==V)mx=max(mx,sg);
        }
        return mx;
    }

B 牛牛与字符串2
解题思路:s.size()<=10^6,所以直接从最长的n-1长度进行比较即可。

int solve(string s) {
        // write code here
        int n=s.size(),i=0,k=n-1;
        for(k=n-1;k>0;--k){
            int j=n-i-k,m=k;
            while(s[i]==s[j]&&m--)i++,j++;
            if(m)i=0;//如果k长度不满足就从头开始
            else return k;
        }
        return -1;
    }
全部评论

相关推荐

秋招最炸裂的一集。等了45分钟,已经足够耐心了吧。HR微信也不回。
独特的林北在吐槽:我之前面滴滴等了一个小时,然后面了半个小时,面完就挂了
点赞 评论 收藏
分享
sainnhe:北京阿里望京A九点整栋大楼熄灯,大家一般八点多就走了,互联网其实没那么妖魔化
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务