周赛专题

LeetCode 第414场周赛个人题解

目录 Q1. 将日期转换为二进制表示 原题链接 思路分析 AC代码 Q2. 范围内整数的最大得分 原题链接 思路分析 AC代码 Q3. 到达数组末尾的最大得分 原题链接 思路分析 AC代码 Q4. 吃掉所有兵需要的最多移动次数 原题链接 思路分析 AC代码 Q1. 将日期转换为二进制表示 原题链接 Q1. 将日期转换为二进制表示 思路分析

LeetCode --- 413周赛

题目列表 3274. 检查棋盘方格颜色是否相同 3275. 第 K 近障碍物查询 3276. 选择矩阵中单元格的最大得分 3277. 查询子数组最大异或值 一、检查棋盘方格颜色是否相同 题目给定两个字符串来表示两个方格的坐标,让我们判断这两个方格的颜色是否相同,这里我们要观察棋盘的颜色特征,我们就会发现奇数行的奇数列和偶数行的偶数列是黑色,其他都是白色,所以我们可以直接计算出每个方

牛客周赛 Round 58(ABCDF)

目录 A.会赢吗? B.能做到的吧   C.会赢的! D.好好好数 F.随机化游戏时间 A.会赢吗? 思路: 签到题,比大小 void solve(){double a,b;cin>>a>>b;if(a>=b) cout<<"NO";else cout<<"YES";} B.能做到的吧  思路:只要能变大就行,那么我们就将字符串从大到小排序,如

【每日一题】【进制数】【思维】好好好数 牛客周赛 Round 58 D题 C++

牛客周赛 Round 58 D题 好好好数 题目背景 牛客周赛 Round 58 题目描述 样例 #1 样例输入 #1 260 3114 514 样例输出 #1 2114 做题思路 考虑到k-好数实际上是 k k k进制下取0/1的操作。 而且问题也是k-好数的和,其工作原理和算进制数一样。 例如 30 = 3 3 + 3 1 30 = 3^3+3^1 30

【每日一题】【博弈论】【思维】会赢的! 牛客周赛 Round 58 C题 C++

牛客周赛 Round 58 C题 会赢的! 题目背景 牛客周赛 Round 58 题目描述 样例 #1 样例输入 #1 31 11 0-1 -1 样例输出 #1 NOYESPING 做题思路 首先考虑到开始位置为 ( 0 , 0 ) (0,0) (0,0)并且只能使横纵坐标递增。所以如果终点的横纵坐标为负数的情况是不可能到达的。所以平局。 第一个点: x

LeetCode 第413场周赛个人题解

目录 3274. 检查棋盘方格颜色是否相同 原题链接 思路分析 AC代码 3275. 第 K 近障碍物查询 原题链接 思路分析 AC代码 3276. 选择矩阵中单元格的最大得分 原题链接 思路分析 AC代码 3277. 查询子数组最大异或值 原题链接 思路分析 AC代码 3274. 检查棋盘方格颜色是否相同 原题链接 3274. 检查棋盘方

LeetCode --- 412周赛

题目列表 3264. K 次乘运算后的最终数组 I 3266. K 次乘运算后的最终数组 II 3265. 统计近似相等数对 I 3267. 统计近似相等数对 II 一、K次乘预算后的最终数组 I & II  I 数据范围比较小,可以暴力模拟,代码如下 class Solution {public:vector<int> getFinalState(vector<int>& n

__周赛(最小生成树(Prime))

将已经链接的边的权值设为0即可。 但是可能会超时,提交的时候,有一次显示超时,所以这个解法是有问题的,看到有171ms的,实力差的太大了,还是得使劲刷题。 /*2015-5-18 951ms*/#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;#define INF 0x3f3f3f3f

牛客周赛 Round 57 ABCDFG

A题:小红喜欢1  题意 输出1所在的位置 思路 无 代码 #include <bits/stdc++.h>using namespace std;int main() {for (int i = 1; i <= 5; i ++ ) {int x; cin >> x;if (x) cout << i << endl;}return 0;} B题:小红的树切割  题意 对于一

LeetCode --- 411周赛

题目列表 3258. 统计满足 K 约束的子字符串数量 I 3259. 超级饮料的最大强化能量 3260. 找出最大的 N 位 K 回文数 3261. 统计满足 K 约束的子字符串数量 II 一、统计满足K约束的子字符串数量I 这种要求满足区间内某种性质的题,一般都可以用滑动窗口来做。这题也是同理,我们的思路是用滑动窗口来维护以 r 为右端点的满足题目区间性质的最长子字符串,然后统

[M模拟] lc3265. 统计近似相等数对 I(模拟+代码实现+分类讨论+周赛412_2)

文章目录 1. 题目来源2. 题目解析 1. 题目来源 链接:3265. 统计近似相等数对 I 2. 题目解析 这场周赛并没有参加,补下题。 T2 思路: 比较简单直接的一个模拟哈,数据量非常非常小,想怎么写都行。注意代码实现细节。 当 1001 与 11 此类时,因为允许前导零的存在,所以也是成立的。stoi 可以比较快速的将含有前导 0 的字符串转为 int,就不用

模拟笔试 - 卡码网周赛第三十一期(23年百度笔试真题)

难度适中,动态规划出现的比例还是比较高的,要好好掌握,二分查找的点也是比较灵活的。(A卷和B卷第一道题是一样的) 题目一:讨厌鬼的组合帖子 思路:这个题算是一个还不错的题; 本质就是:一个数组元素选或不选,可以达到的最大绝对值,经典动态规划入门题了,重要的就是能不能看到这个本质。 import java.util.Scanner;public class taoTanGui {pu

LeetCode---402周赛

题目列表 3184. 构成整天的下标对数目 I 3185. 构成整天的下标对数目 II 3186. 施咒的最大总伤害 3187. 数组中的峰值 一、构成整天的下标对数目 I & II 可以直接二重for循环暴力遍历出所有的下标对,然后统计符合条件的下标对数目返回。代码如下 class Solution {public:int countCompleteDayPairs(vect

第 402 场 LeetCode 周赛题解

A 构成整天的下标对数目 I 计数:遍历 h o u r s hours hours ,记录 h o u r s [ i ] % 24 hours[i]\%24 hours[i]%24 的出现次数 class Solution {public:long long countCompleteDayPairs(vector<int>& hours) {vector<int> cnt(

牛客周赛 E-茜茜的计算器

原题链接:E-茜茜的计算器​​​​​​ 题目大意:在计算器上显示的0~9十个数字,如果这个计算器有n个位置,可以显示n个数字,问能显示多少种不同的对称数字。只能横轴和竖轴对称。 思路:容斥,最终的答案是横轴对称的数量+纵轴对称的数量-都对称的数量。可以横轴对称的数字有0 1 8 3,这四个数字可以在n个位置随意放置,一定是对称的,那么横轴对称的数量就是。对于纵轴对称的数字,需要对n的奇偶性质进

牛客周赛 46 F 祥子拆团

原题链接:F-祥子拆团 题目大意:多测,每次给a,b,要将a分解成b个数相乘,问有多少种分的方法。 思路:对a进行质因数分解,对每一个质数计数,然后分到b个篮子里面,允许篮子里面没有数,对全部的方案数相乘就是答案。d代表每个质数的数量,使用隔板法,如果允许篮子里面没有数的话,那么公式就是,如果不允许有数可以理解成先给没个篮子放一个数,那么公式就是。因为允许没有数所以使用第一个公式。 //冷静

牛客周赛 C-苗苗的气球

原题链接:C-苗苗的气球 题目大意:n种气球,给出每种气球的个数,二种不同的气球相碰会爆炸,问最后留下来的气球有几种可能性。 思路:从特殊到一般,如果是一种气球,那么答案肯定是1,如果是二种气球,如果数量不同,答案是1,如果数量相同,答案是0。如果是三种,如果其中一个气球的数量大于等于了气球总数的一半,那么答案就是1,如果没有某个气球总数特别的多的情况,那么如果气球总数是偶数的情况下,那么最终

LeetCode --- 401周赛

题目列表 3178. 找出 K 秒后拿着球的孩子 3179. K 秒后第 N 个元素的值 3180. 执行操作可获得的最大总奖励 I 3181. 执行操作可获得的最大总奖励 II 一、找出K秒后拿着球的孩子 这题可以直接模拟,从前往后,再从后往前走k次,最后直接返回下标。或者我们可以直接计算,先算出球是从前往后走,还是从后往前走,然后判断球是第几个,返回下标即可,代码如下 //数

牛客周赛Round 36

链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网   A 吃冰 Rana喜欢所有抹茶食品,但是她不喜欢吃热的,她在吃完一份热的抹茶食品后必须至少连续吃两份冰的抹茶食品来降温。 现在有 a 份冰的抹茶食品和 b 份热的抹茶食品,Rana想知道她最多能吃多少份抹茶食品 #include<iostream>using namespace std;int main(){int a,

HDU 1969二分(周赛A题)

这题感觉手算还可以,不过用代码就有点晕了,刚开始不知道是二分,感觉用手算没用到二分啊,所以就没想到二分……唉 做题还是太少了 努力吧…… #include <iostream>#include <map>#include <deque>#include <queue>#include <stack>#include <string>#include <cstring>#inclu

POJ 1852数学计算(周赛B题)

这题竞赛的时候还觉得有点麻烦呢 木想到挺容易的,刚开始我是想直接sort排序然后找到最小的,然后长度l减去这个最小的就得最长的时间了;而最短的时间是想依次遍历,如果大于长度l的一半的这个数设为a,刚a=l-a,然后再把所有的排序找到最大的就是最短的时间了,,,,但是没想到别人的代码三句话就搞定了……服啊…… #include <iostream>#include <map>#include

HDU 1231最大连续子序列(周赛F题)

这题挺气人的,比赛的时候编了提交了好多次都不知道哪里错了,搞了两天才知道自己的代码哪里错了看了队友的发现他的方法确实很好,参考他的方法……我试了用了下DP,但是就是提交不过,真的晕死…… 下面给出时间复杂度最低和第二低的算法,第一种为累计求和,时间复杂度为o(n) #include <iostream>#include <map>#include <deque>#include <que

周赛反思与总结

今天周赛,怒爆1题。。 可以看到,仍需努力。不多说,继续走。 比赛地址:点击打开链接 比赛大部分时间都在搞A题,20A 一开始,根本没有看好题。我擦。一大堆WA。 由于,最近搞了Hash,就想到了这种方法。不过,一开始,处理的和一坨屎差不多。最后重新写了一遍,看起来比较合乎逻辑的。 直接代码: #include <cstdio>#include <algorithm>#incl

130719周赛CF

A题,就是一个找最多能让0翻转成1的区间。。水题1A。。只要从头开始遍历的时候每次比较得到最大的“优惠”就行了。A. Flipping Game #include<iostream>#include<cstring>using namespace std;int main(){int n,m,i,j,q,p,s[105];cin>>n;p=0;j=0;m=0;q=-1;for(

牛客周赛45

牛客周赛45 a小紫的总分b小蓝的旅游c小粉的好数d 小黑的区间 a小紫的总分 小紫总分 ac code #include<iostream>using namespace std;int res=0;int main(){for(int i=0;i<5;i++){int a;cin>>a;res+=a;}if(res>100)printf("YES\n");el

【leetcode】——第 400 场周赛,2题选手签个到

第一题:100307. 候诊室中的最少椅子数 给你一个字符串 s,模拟每秒钟的事件 i: 如果 s[i] == 'E',表示有一位顾客进入候诊室并占用一把椅子。如果 s[i] == 'L',表示有一位顾客离开候诊室,从而释放一把椅子。 返回保证每位进入候诊室的顾客都能有椅子坐的 最少 椅子数,假设候诊室最初是 空的 。   示例 1: 输入:s = "EEEEEEE" 输出:7 解