首页 > 其他分享 >2024牛客暑期多校训练营2(部分题目题解)

2024牛客暑期多校训练营2(部分题目题解)

时间:2024-07-22 22:28:54浏览次数:15  
标签:int 题解 ll ans 多校 2024 num max dp

2024牛客暑期多校训练营2(部分题目题解)

C.Red Walking on Grid

题意:给定只有红白的2*n个格子,只能走红色各自且只能上下左右走,问最多可以走多少红色格子。
题解:
左右走:

dp[0][i] = dp[0][i-1]+1;

上下走:

int k1 = dp[0][i];
int k2 = dp[1][i];
dp[0][i] = max(dp[0][i] ,k2 + 1);
dp[1][i] = max(dp[1][i] ,k1 + 1);

代码如下:

#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main()
{
    int n;
    cin>>n;
    string s[2];
    cin>>s[0]>>s[1];
    s[0] = 'W'+s[0]+'W';
    s[1] = 'W'+s[1]+'W';
    vector< vector <int> > dp(2,vector<int>(n+1));
    for(int i=1;i<=n;i++)
    {
        if(s[0][i] == 'R')dp[0][i] = dp[0][i-1]+1;
        if(s[1][i] == 'R')dp[1][i] = dp[1][i-1]+1;
        if(s[1][i] == s[0][i] && s[0][i] == 'R')
        {
            int k1 = dp[0][i];
            int k2 = dp[1][i];
            dp[0][i] = max(dp[0][i] ,k2 + 1);
            dp[1][i] = max(dp[1][i] ,k1 + 1);
        }
    }
    int ans = 0;
    for(int i=1;i<=n;i++)
    {
        ans = max(ans,dp[0][i]-1);
        ans = max(ans,dp[1][i]-1);
    }
    cout<<ans<<endl;
    return 0;
}

E.GCD VS XOR

题意:给一个数x,找到一个数字num使得gcd(num,x)=num^x。
题解:x是偶数,输出
x是奇数,输出x-1。

#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main()
{
	int t;
	cin>>t;
	while(t--)
	{
		ll x;
		cin>>x;
		if(x>=2)
		{
			if(x%2==0)
			{
				int num=0;
				ll xx=x;
				ll number = 1;
				while(xx%2==0 && xx != 0)
				{
					num++;
					xx/=2;
					number*=2;
				}
				if(xx == 1)
				{
					cout<<-1<<endl;
				} 
				else cout<<x-number<<endl;
			}
			else{
				cout<<x-1<<endl;
			}
		}
		else 
		{
			cout<<-1<<endl;
		}
	}
	return 0;
} 

标签:int,题解,ll,ans,多校,2024,num,max,dp
From: https://blog.csdn.net/qq_50196144/article/details/140619892

相关文章

  • 2024杭电钉耙2-1003 HDOJ7447 绝对不模拟的简单魔方
    欢迎您来我的网站看这篇题解!Problem有一个魔方可能被拧了不超过三次,同时还弄丢了一个角块上的两个贴纸。现在把这两个贴纸贴回去,请问有没有贴错?只可能拧侧面,不会拧中间层,且每次只能拧\(90^\circ\)。魔方用一个9行12列的字符型矩阵表示:初始魔方的展开图如下图:\(1\leT......
  • AIGC-DynamiCrafter: Animating Open-domain Images with Video Diffusion Priors-ECC
    论文:https://arxiv.org/pdf/2310.12190代码:https://github.com/Doubiiu/DynamiCrafter?tab=readme-ov-fileMOTIVATIONTraditionalimageanimationtechniquesmainlyfocusonanimatingnaturalsceneswithstochasticdynamics(e.g.cloudsandfluid)ordom......
  • 2024年Java高级开发工程师面试准备
    20240722前三步因为是在20年找工作的时候已经充分学习过,所以现在基本只需要读一遍即可第一步:Java基础(CYC2018[2.1-2.4]+JavaGuide[第二章])Java基础+JVM+多线程+Java集合第二步:计算机基础(算法和设计模式靠积累,计算机网络和操作系统读一遍:CYC2018[3.1-3.2]+JavaGuide[......
  • 20240722题解
    孩子们,我回来了......
  • NOI 2024 游记
    NOI2024游记Day(-4)~(-2)UOJ模拟给大家整了个活,笔试100,Day1Day2两天各两题,过题数成功达到全场rk2水平。没写暴力,反正暴力也是随便写写,两题100多分的暴力也都是纯唐。Day0抵达酒店酒店很不错,但是不禁让我担心起了学校的住宿环境。Day1抵达学校学校宿舍疑似唐......
  • 2024牛客暑期多校训练营2
    2024牛客暑期多校训练营2E-GCDVSXOR_2024牛客暑期多校训练营2(nowcoder.com)题意给定x,构造y<x使得gcd(x,y)=x⊕y思路取x−lowbit(x)即可,如果x是2的整数次幂则无解。代码#include<bits/stdc++.h>usingnamespacestd;usingi64=longlong;voi......
  • Luogu P4310 绝世好题 题解 [ 绿 ] [ 线性 dp ] [ 单调队列优化 ] [ 二进制优化 ]
    题目:绝世好题。暴力dp显然\(O(n^2)\)转移即可。单调队列优化观察到只有某二进制位两个数都为\(1\)时才能转移,因此我们把每个二进制位开一个单调队列,然后对于一个数\(a\),找到它是\(1\)的二进制位并选其单调队列的队头进行转移,在这之后把这个数加入符合要求的单调队列......
  • 闲话:IMO 2024 P5
    这道题其实挺搞心态的,至少看到\(2024\)这种具体的数字一般都会想到\(12,13\)之类的东西上去吧?当然这几天知乎看饱了都知道答案是\(3\)了。下面给一下我的构造:第一步从\((1,1)\)走到\((2,1)\),然后一路往右插过去,问出第二行的鬼的位置,位于\((2,x)\)。如果这个鬼不在......
  • SMU Summer 2024 Contest Round 6
    AManyFormulas思路:二进制枚举voidsolve(){strings;cin>>s;intn=s.size();intm=pow(2,n-1);intans=0;for(inti=0;i<m;++i){intnow=0,sum=0;for(intj=0;j<n;++j){......
  • 2024 Selenium10个替代品
     随着自动化测试需求的不断增长,Selenium作为广泛使用的自动化测试工具,虽然功能强大,但也存在一些限制和挑战。在2024年,越来越多的替代工具涌现,它们提供了更高效、更易用的解决方案。那么,哪些替代品值得我们关注呢?  在自动化测试领域,除了Selenium,还有哪些工具能够满足我们的......