首页 > 其他分享 >牛客周赛 Round 7

牛客周赛 Round 7

时间:2023-08-14 18:44:31浏览次数:48  
标签:周赛 int ++ long cin 牛客 using Round

牛客周赛 Round 7

A-游游的you矩阵_牛客周赛 Round 7 (nowcoder.com)

把四种字符凑一起看看有没有\(y,o,u\)就行

#include <bits/stdc++.h>
#define int long long

using namespace std;

signed main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int n,m;
    cin >> n >> m;
    vector<string> a(n);
    for(auto &i : a) cin >> i;

    int ans = 0;
    for(int i = 1;i < n;i ++){
        for(int j = 1;j < m;j ++){
            string s = "";
            s += a[i][j];
            s+= a[i][j - 1];
            s+= a[i - 1][j];
            s+= a[i - 1][j - 1];
            if(s.find('y') != -1 && s.find('o') != -1&& s.find('u') != -1)
                ans ++;

        }
    }

    cout << ans << '\n';
    return 0;
}

B-游游的01串操作_牛客周赛 Round 7 (nowcoder.com)

\(dp[i][1/0]\)表示字符\(i\)为\(1/0\)时的最小代价

貌似直接讨论首位为\(1/0\)然后后面跟着算也能做出来

#include<bits/stdc++.h>

using i64 = long long;

using namespace std;

typedef pair<i64, i64> PII;


int main() {
	ios::sync_with_stdio(false);
	cin.tie(nullptr);

	string s;
	cin >> s;

	s = " " + s;
	int n = s.size();
	vector dp(n, vector<int>(2,0));
	for(int i = 1;i < n;i ++){
		dp[i][0] = dp[i - 1][1] + i * (s[i] - '0');
		dp[i][1] = dp[i - 1][0] + i * ('1' - s[i]);
	}

	cout << min(dp[n - 1][0],dp[n - 1][1]) << '\n';

	return 0;
}

C-游游的正整数_牛客周赛 Round 7 (nowcoder.com)

有解情况下,那最少情况下需要\(n\)个\(r\),最多情况下需要\(m\)个\(l\),如果说最少情况下的\(n\)都大于了最多情况下的\(m\),那么肯定无解

感觉更像是结论题,也可能数据水了(?)

#include<bits/stdc++.h>

using i64 = long long;

using namespace std;

int main() {
	ios::sync_with_stdio(false);
	cin.tie(nullptr);

	int T;
	cin >> T;
	while(T--){
		int a,b,l,r;
		cin >> a >> b >> l >> r;

		int n = ceil((b - a) * 1.0 / r),
            m = (b - a) * 1.0 / l;
		if(n > m) cout << -1 << '\n';
		else cout << n << ' ' << m << '\n';
	}

	return 0;
}

D-游游的选数乘积_牛客周赛 Round 7 (nowcoder.com)

两数相乘要使得末尾有\(0\),那就要看这两数的因子里否凑出\(2\)和\(5\),只有凑出了\(2\)和\(5\),才能得出\(10\),才能使末尾有\(0\),所以我们每次把每个数的\(2\)和\(5\)因子数计算出来,然后去寻找是否存在使得这个数的\(2\)和\(5\)因子数和另一个数相加能得到大于或等于\(x\)的结果,能得到那我们就加\(1\),这里是用一个二维数组把拥有相同数量\(2\)和\(5\)因子的统计起来,且\(1e9\)里最多只有\(30\)个\(2\)和\(13\)个\(5\),所以我们只要三十多就行了

#include<bits/stdc++.h>

using i64 = long long;

using namespace std;

typedef pair<i64, i64> PII;

int sum[35][35];

int main() {
	ios::sync_with_stdio(false);
	cin.tie(nullptr);

	int n,x;
	cin >> n >> x;
	i64 ans = 0;

	for(int i = 0;i < n;i ++){
		int a;
		cin >> a;

		int num2 = 0, num5 = 0;
		while(a % 5 == 0) num5 ++, a /= 5;
		while(a % 2 == 0) num2 ++, a /= 2;

		for(int j = 0;j < 32;j ++)
			for(int k = 0;k < 32;k ++)
				if(num5 + k >= x && num2 + j >= x)
					ans += sum[j][k];

		sum[num2][num5] ++;
	}

	cout << ans << '\n';

	return 0;
}

标签:周赛,int,++,long,cin,牛客,using,Round
From: https://www.cnblogs.com/Kescholar/p/17629462.html

相关文章

  • Acwing第116场周赛
    Acwing.第116场周赛这次做的稍微通畅一点,但是做到第三题还是发懒了,以后每次周赛打完都会有一个周赛总结第一题:简单判断给定三个非负整数x,y,z,请根据如下要求进行判断并输出结果:如果x>y+z,输出+;如果y>x+z,输出-;如果x=y并且z=0,则输出0;如果以上都不满足,则输出?......
  • 2023牛客暑期多校训练营7 CGILM
    比赛链接C题解知识点:位运算,贪心。我们用分段的思想考虑大小关系,若在同一段则大小不能确定,一开始为\([1,n]\)。我们按位从高到低考虑,某位如果\(b_i\)产生了\(1\),那么会这一位的第\(i\)个数产生大小的分段,得到\([1,i-1]<[i,n]\),之后这两段的大小关系就确定了,我们可以......
  • Codeforces Round 892 (Div. 2)
    Preface最接近橙名的一场,可惜给我一个小时也没想到E的关键点,后面徐神一点拨就懂了虽然现在这个号已经到渡劫局了但因为之前有场比赛给了ztc一份代码然后他直接没咋改交上去了,估计下次rollRating的时候这个号要掉200来分了嘛不过也无所谓反正下次打另一个号冲分,而且像我这种永......
  • 2023年多校联训NOIP层测试7+【LGR-149-Div.3】洛谷基础赛 #2 & qw Round -1
    2023年多校联训NOIP层测试7,集训欢乐赛,绝对欢乐,童叟无欺赛时在回家的路上+睡觉,所以没打。\(T1\)近似ybtOJ2049:【例5.19】字符串判等本题少了对空格的判断,水题。PS:题面和题解中都写了文件输入输出,测评时没有文件输入输出是几个意思,艹。#include<bits/stdc++.h>usingname......
  • 【题解】Educational Codeforces Round 146(CF1814)
    而且怎么感觉E,F比D要简单很多,大概是因为比较套路吧[惊恐]A.Coins题目描述:本题一共有\(t\)组数据。每组数据包含两个整数\(n\)和\(k\),如果存在两个非负整数\(x,y\),满足\(2\timesx+k\timesy=n\),输出YES,否则输出NO(yes,Yes,NO,nO均可)。题目分析:注意到\(y\)可......
  • Codeforces Round 892 (Div. 2)(vp)
    CodeforcesRound892(Div.2)AUnitedWeStand题意:给一个数组,让你把它分成两个数组,第二个数组里的数不能是第一个数组里的数的除数,先输出两个数组的长度,依次输出两个数组的数,如果无法分出来,输出-1思路:如果数的种类只有一种一定不行,反之一定行,对于可行的情况,我们把最大的......
  • LeetCode 周赛上分之旅 #39 结合中心扩展的单调栈贪心问题
    ⭐️本文已收录到AndroidFamily,技术和职场问题,请关注公众号[彭旭锐]和BaguTreePro知识星球提问。学习数据结构与算法的关键在于掌握问题背后的算法思维框架,你的思考越抽象,它能覆盖的问题域就越广,理解难度也更复杂。在这个专栏里,小彭与你分享每场LeetCode周赛的解题报告,一......
  • [第358场周赛]分解质因数+单调栈+快速幂
    最近有点水逆,希望厄运赶快退散,一会会去祈福的。这场周赛依旧是3题遗憾离场,第4题经过提示其实涉及的算法都会但是实在是emmmm过于综合。7023. 操作使得分最大提示困难10相关企业给你一个长度为 n 的正整数数组 nums 和一个整数 k 。一开始,你的分数为 1 。你可以进行以下操......
  • 暑假牛客多校第八场 2023-8-11(H、K)
    H.Insert1,Insert2,Insert3,...算法:栈做法:   我们分析题目发现每个区间的左端点一定是\(1\),而且每个新加入的数\(x\)一定是匹配最靠近它的且未经匹配的\(x-1\)。举个例子,在[1,1,2,2,3]中我们加入一个数\(3\)时由于从左到右的第二个\(2\)是已经和第一个......
  • 牛客sql-计算用户的平均次日留存率
    参考大佬题解做一下记录:https://blog.nowcoder.net/n/fe24f96a26f1437da19e91ab1d035b03?f=commenthttps://blog.nowcoder.net/n/dd3d75ce08e3485c95bafe3c23668fc2?f=comment https://www.runoob.com/sql/sql-dates.htmlDATE_ADD(date,intervalexprtype) date参数是合......