周赛专题

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 解

Leetcode - 周赛399

目录 一,3162. 优质数对的总数 I 二,3163. 压缩字符串 III 三,3164. 优质数对的总数 II 四, 3165. 不包含相邻元素的子序列的最大和 一,3162. 优质数对的总数 I 假设 x 是 nums1 数组中的值,y 是 nums2 数组中值,我们要求的就是有几个 (x,y) 满足 x % (y * k) == 0,可以直接暴力  代码如下

LeetCode --- 399周赛

题目列表 3162. 优质数对的总数 I 3163. 压缩字符串 III 3164. 优质数对的总数 II 3165. 不包含相邻元素的子序列的最大和 一、优质数对的总数I 这里由于数据范围比较小,我们可以直接暴力枚举,代码如下 class Solution {public:int numberOfPairs(vector<int>& nums1, vector<int>& n

牛客周赛44 F小红的基环树删边

原题链接:F-小红的基环树删边 题目大意:给一个基环树,一个n个点,n条边。若是删除第i边,从1到n的最短距离是多少? 思路:因为是基环树,那么从1到n最多就只有二条路径,那么就可以求出不在当前路线上的边删除后的最短路。 //冷静,冷静,冷静//调不出来就重构 #pragma GCC optimize(2)#pragma GCC optimize("O3")#include<bits

【LeetCode】力扣第 399 场周赛 优质数对的总数 II

文章目录 1. 优质数对的总数 II 1. 优质数对的总数 II 题目链接 🍎该题涉及的小技巧:🐥 🐧①一次可以统计这个数的== 两个因子== 但是要注意 25 = 5 * 5,这种情况 5 只能统计一次噢🆒 解题思路: 🐧① 题目的意思可以转换成求 nums1 中有多少个数可以整除 nums2 * k的数; 🐧② 我们先把 nums1 的因子都求

2024.05.26 第 399 场周赛

Leetcode 第 399 场周赛 优质数对的总数 I Leetcode 优质数对的总数 I 给你两个整数数组 nums1 和 nums2,长度分别为 n 和 m。同时给你一个正整数 k。 如果 nums1[i] 可以被 nums2[j] * k 整除,则称数对 (i, j) 为 优质数对(0 <= i <= n - 1, 0 <= j <= m - 1)。 返回** 优质数对 **

第 398 场 LeetCode 周赛题解

A 特殊数组 I 模拟:遍历数组判断是否是一个特殊数组 class Solution {public:bool isArraySpecial(vector<int>& nums) {int r = 0;while (r + 1 < nums.size() && nums[r + 1] % 2 != nums[r] % 2)r++;return r == nums.size() -

牛客周赛 Round 42

小红叕战小紫 #include<bits/stdc++.h>using namespace std;void solve(){string s;cin>>s;if(s.length()<=1)cout<<"yukari";else cout<<"kou"<<endl;}int main(){ios::sync_with_stdio(false), cin.tie(0), cout.tie

模拟笔试 - 卡码网周赛第十八期(23年科大讯飞提前批笔试真题)

第一题:  参考思路解析:(遍历nums中的每个数字,得到不为0的数位即可。) 1.导入Scanner类: import java.util.Scanner;:引入 Scanner 类,用于读取用户输入。 2.主方法: public static void main(String[] args):定义主方法,程序的入口。 3.创建Scanner对象: Scanner sc =

周赛问题 福州 升降序列

Description 升降序列的定义如下:给定N个不同的整数a1,a2,…,aN组成的集合,其中N为奇数,在这N个整数集合的一个排列中,如果对于所有1<i<N,i为偶数,都有a i-1 < a i > a i+1,那么称该序列为升降序列。 给定N个不同的整数组成的集合,请你构造出一个升降序列,使得该升降序列的字典序最小。 对于有N个元素的两个整数序列A和B,如果存在下标k,

周赛问题 福州 竞技游戏

Description John和Smith在玩一种竞技游戏。在游戏中,John给Smith由n个正整数组成的序列以及m条操作指令,需要Smith按照指令来对n个整数进行操作。其中每条指令都包括二个整数(a, b),意义如下: 如果a大于0,表示将序列中第b个数乘于2; 如果a小于0,表示将序列中第b个数加上2; 如果a等于0,则忽略此条指令。 游戏结束后,Smith

Leetcode - 周赛397

目录 一,3146. 两个字符串的排列差 二,3147. 从魔法师身上吸取的最大能量 三,3148. 矩阵中的最大得分 四,3149. 找出分数最低的排列 一,3146. 两个字符串的排列差 本题就是求同一个字符在两个字符串中的下标之差的绝对值的和,可以使用数组来统计字符的下标,再求下标之差的绝对值的和。 代码如下: class Solution {public

第 397 场 LeetCode 周赛题解

A 两个字符串的排列差 模拟:遍历 s s s 记录各字符出现的位置,然后遍历 t t t 计算排列差 class Solution {public:int findPermutationDifference(string s, string t) {int n = s.size();vector<int> loc(26);for (int i = 0; i < n; i++)l