zoukankan      html  css  js  c++  java
  • 牛客编程巅峰赛S2第7场

    前言

    这一场真*爆0场,被自己的理解坑了,把那个子序列以为是字串了,原地爆炸,好亏好亏,第二题是一道博弈论,然鹅我就只有一种情况没想出来,还是挂了真滴难受

    A.牛牛的独特子序列(二分)


    解题思路: 题目的意思是从主串中找到满足(a_n b_n c_n)(mathbf{子序列}) ,ps:子序列可以是不连续的,字串是必须连续的,两者都需从前往后算,知道了这一点,我们就可以直接二分满足条件的子序列的长度,子序列的长度最小是0,最大是(lfloor len/3 floor)
    Code:

    bool check(string x,int n) {//n表示的是当前期望取的子序列的长度
    	int tlen[3]={0};
    	int len = x.length();
    	for(int i = 0;i < len; ++i) {
    		if(tlen[0] < n && x[i]== 'a') {//先取a
    			tlen[0]++;
    		}
    		else if(tlen[0] == n && tlen[1] < n && x[i] == 'b') {//满足先取a,再取b
    			tlen[1]++;
    		}
    		else if(tlen[1] == n && tlen[2] < n && x[i] == 'c') {//满足先取b,再取c
    			tlen[2]++;
    		}
    	}
    	if(tlen[0] == tlen[1] && tlen[1] == tlen[2] && tlen[0] == n)//如果满足条件
    		return true;
    	return false;
    }
    
    int Maximumlength(string x) {
            // write code here
            int ans = 0;
            int len = x.length();
    		int l = -1, r = len/3;
    		while(l + 1 < r) {//二分(我的二分板子)
    			int mid =l + r >> 1;
    			if(check(x,mid)){
    				l = mid;
    			}
    			else
    				r = mid;
    		}
    		return l * 3;
    }
    

    这道题因为把子序列以为成了字串,差点让我觉得题目的数据有问题(QAQ),看来还是自己太菜了

    分贝壳游戏


    解题思路:这道题是一个博弈论,因为牛牛是先手,所以我们可以分类讨论牛牛一次能拿的贝壳和牛妹一次能拿的贝壳的大小****
    一、p == q
         
    1.n%(p+1)==0 -> 牛妹胜
         
    2.n%(p+1)!=0 -> 牛牛胜
    二、p > q
         1.n <= p -> 牛牛胜(一步取完)
         
    2.n == p+1 -> 牛牛先取一个然后无论牛妹怎么取都会输,也就是牛牛必胜
         3.n >= p+1 -> 牛牛必胜
    三、p < q
         n <= p ->牛牛胜(一步取完)
         其他情况 ->牛妹胜

    Code:

    int Gameresults(int n, int p, int q) {
            // write code here
            if(p >= n || p > q)
                return 1;
            if(p < q)
                return -1;
            if(n%(p+1)==0)
                return -1;
            else
                return 1;
    }
    

    经过直径的点

    树形DP,(不会)

  • 相关阅读:
    mybatis动态查询,模糊查询
    Python 列表
    异步加载实现点赞功能($.load 出现post不支持)
    shiro多账号登录(用户名,手机号,邮箱)
    spring data jpa 级联操作的时候注意事项
    semantic UI 点击按钮自动提交表单原因
    上线日期
    有关弱类型意识、DOM、动态语言与函数式编程
    视频项目时长的存储和程序设计方案---单例模式节省内存空间以及自定义注解
    项目中整合第三方插件与SpringMVC数据格式化关于ip地址
  • 原文地址:https://www.cnblogs.com/Mangata/p/14106060.html
Copyright © 2011-2022 走看看