牛客比赛
文章平均质量分 94
筱姌
不被定义,庆幸自己,我可以是任何样子。我野蛮生长,自己便是月亮。
展开
-
牛客:Rise of Shadows(数学判断),转“人工“(字符加逻辑转换),马弓手关羽请战华雄(加法运算)
这段代码的目的是判断给定的年份是否为质数闰年。质数闰年需要同时满足两个条件:是闰年并且年份数字是质数。程序通过读取多个测试用例(年份),对每个年份进行判断,并输出相应的结果(总体来说,这个程序通过动态更新能到达的最远区块编号,逐步判断是否能够到达目标区块,利用了贪心算法的思想,每次都尽可能地走到最远的位置。每个区块上的数字表示从该区块可以向前走的最大步数。这段代码的目的是判断从第一个区块出发,能否到达编号为。根据质数和闰年的定义,可知道质数闰年不存在。这段代码的目的是根据给定的仅包含。原创 2024-10-09 12:25:48 · 1215 阅读 · 0 评论 -
牛客:xay loves count与1LL的用法
遍历所有可能的 i 和 j,计算ai×aj。检查ai×aj 是否在数组 a中存在,如果存在,累加对应的次数。类型的最大值(通常是 2147483647),导致溢出。类型的变量中,中间结果的溢出仍然会影响最终结果的正确性。为 0,用于存储满足条件的三元组数量。类型的范围,会导致溢出。来记录每个值在数组 a 中出现的次数。类型,从而确保整个表达式的计算都在。类型,从而使整个表达式的计算都在。范围内进行,避免了中间结果的溢出。不为 0,继续遍历所有可能的。,确保所有元素初始为 0。原创 2024-10-09 10:00:00 · 1192 阅读 · 0 评论 -
牛客——xay loves or与 __builtin_popcount的使用
因此,如果 x \text{ OR } y = sx OR y=s,那么对于 ss 中每一位为 1 的位置,xx 或 yy 在对应位置至少有一个 1;对于 ss 中每一位为 0 的位置,xx 和 yy 在对应位置都必须是 0。为了理解这个问题,我们需要考虑按位或运算的性质。是 GCC 编译器提供的一组内置函数之一,用于计算一个整数的二进制表示中 1 的个数。接受一个无符号整数作为参数,并返回该整数的二进制表示中 1 的个数。的结果在这些位上必须是 1。中对应位为 1,这是不可能的,因为。原创 2024-10-08 14:50:30 · 731 阅读 · 0 评论 -
牛客:Holding Two,Inverse Pair,Counting Triangles
通过随机生成图的边颜色,然后利用组合数学的原理计算异色三角形的数量,进而得到同色三角形的数量。对于每个顶点,统计与其相连的边中黑色边和白色边的数量,通过组合数的计算可以得到以该顶点为一个顶点的异色三角形数量。最后通过总三角形数量减去异色三角形数量的一半得到同色三角形数量。计算一个无向完全图中同色三角形(即三个顶点构成的三角形三条边颜色相同)的数量。,利用特定的随机生成方式生成图的边颜色,然后计算同色三角形的数量并输出结果。:使用两个嵌套的循环遍历图的所有边(不包括自环),对于每条边。原创 2024-10-08 14:30:10 · 645 阅读 · 0 评论 -
牛客:小红的字符移动,小红的数轴移动,小红的圆移动
在。原创 2024-10-07 17:33:16 · 663 阅读 · 0 评论 -
数论——数数(找质因数个数),三位出题人(组合数学,快速幂)
一个布尔类型的向量,用于标记整数是否为非素数。初始时假设所有的数都是素数(通过。的范围内,减去既是完全平方数又是某个数的整数次幂的数后剩余的数的个数。,可能是为了确保在处理数据时,数组或其他数据结构有足够的空间。:用于存储用户输入的整数,代表要进行计算的范围上限。这段代码的目的是计算在。原创 2024-09-27 22:25:55 · 735 阅读 · 0 评论 -
牛客小白月赛101(下)
对于任意的 n,最有效的策略通常是利用 n 的因数特性,特别是 n与其自身的最大公约数总是 n,这意味着可以直接从 (1,1) 通过“传送”到达 (n,n),前提是找到一条路径使得中途能够访问值为 n 的格子。基于对不同 n值的手动分类处理,但这并不是一个通用或高效的解决方案。,将其值累加上前一个位置的值,即。为起点的满足条件的子区间数量。为起点的满足条件的子区间数量。,将其元素值累加到前缀和数组。次,每次读取一个查询下标。原创 2024-09-25 10:00:00 · 913 阅读 · 0 评论 -
牛客小白月赛101(上)
即 “好的” 数字的个数。输出结果:最后输出答案。,即为可能的完整排列。原创 2024-09-24 11:30:00 · 849 阅读 · 0 评论 -
牛客周赛 Round 60(上)
平方,如果当前指数的最低位为 1,则将结果累乘上当前的底数。这样可以在对数时间内计算出幂次方的结果,同时通过不断对中间结果取模,避免了数值过大导致的溢出问题。个位置来放置右杆的移动位置。这是因为第一次折返前,右杆在位置 2,最后一次折返后,右杆在位置。为了避免除法运算可能导致的精度问题,使用了逆元的方法。异或运算的规则是:对于两个二进制位,如果相同则结果为 0,不同则结果为 1。,利用异或运算的特性,计算并输出了符合题目要求的结果。综上所述,这段代码通过读取输入的整数。个元素的组合数,即问题的答案。原创 2024-09-17 19:13:58 · 676 阅读 · 0 评论 -
牛客周赛 Round 60(下)
时,更新对应的行和列的最大和最小坐标值。这是因为如果两个棋子在同一行或同一列,那么它们之间可以连线,而连线的长度就是该行或该列上两个棋子纵坐标之差(对于行)或横坐标之差(对于列)。:在第二次遍历中,对于每一行和每一列,分别计算最大纵坐标与最小纵坐标之差以及最大横坐标与最小横坐标之差,取其中的较大值。这是因为连线的长度是由行或列上两个最远棋子之间的距离决定的,而这个距离可以通过最大和最小坐标值之差得到。相等时,正好可以完全交替排列正数和负数,每一对正数和负数组成长度为 2 的子序列,所以最长序列长度为。原创 2024-09-17 21:00:00 · 901 阅读 · 0 评论 -
牛客练习赛128(上)
这里选择输出长度为 2 是一种较为简单直接的策略,在满足题目条件的同时尽量简化输出。,分别代表题目中的给定数值和序列长度的上限约束条件。输出序列长度为 2 的合理性:题目中给定序列长度。这个答案可能代表了满足特定条件的某种数量或结果。,这两个数构成了满足题目条件的序列。从标准输入读取两个正整数。数组,将所有元素相加并对。,表示构造的正整数序列。取模,得到最终的答案。原创 2024-09-14 22:25:02 · 864 阅读 · 0 评论 -
牛客练习赛128(下)
该代码的目的是解决在给定的有根树中,从树外引入一个点向树内任意连边,使得构成的简单图不含三元环的方案数问题。通过深度优先搜索(DFS)遍历树,并使用动态规划的思想计算每个节点的两种状态的方案数,最终得到根节点的总方案数。从根节点开始进行深度优先搜索,计算所有节点的方案数。通过动态规划求解在不超过背包容量的情况下,能获得的最大价值,即这些对数中。的对数,使用动态规划来求解。使用一个循环读取每个节点的父亲节点编号,构建树的邻接表。最终结果:最终的结果是已经满足条件的对数的。的部分的总和),物品的重量为。原创 2024-09-14 09:30:00 · 752 阅读 · 0 评论 -
牛客——前缀和前缀最大值,前缀平方和序列,好数组
不满足 “任意两个元素的差的绝对值都小于这两个元素的乘积” 这个条件,所以输出。的平方数,所以可以先找出这些平方数,然后计算从这些平方数中选取。这个代码的原理是通过逐个检查输入数组中的元素是否为。,来快速判断是否不满足好数组的条件。检查元素部分:在循环中,检查每个读取的元素。,根据题目要求,存在两个相同的元素(都是。元素,就假设可能满足好数组的条件并输出。的平方数的组合数,来确定满足长度为。,说明可能满足好数组的条件,输出。个的组合数,即为所求的结果。,代表数组中的一个元素。),它们的差的绝对值为。原创 2024-09-13 08:30:00 · 1461 阅读 · 0 评论 -
牛客小白月赛99(下)
这个算法的原理是基于这样的假设:如果一个时间点不是任何人的眨眼时间,那么在这个时间点拍照可以确保每个人的眼睛都处于睁开状态。而通过寻找第一个不在输入的眨眼间隔时间集合中的素数,可以快速确定这样的时间点。由于素数的性质,它不能被其他小于它的数整除,所以不太可能与输入的眨眼间隔时间重合,除非这个素数本身就是某个学生的眨眼间隔时间。通过这种方式,程序可以判断在给定的迷宫中是否能够利用超能力从起点到达终点。通过这种方式,程序可以快速计算出将给定整数。所需的最多操作次数。原创 2024-09-12 16:30:00 · 615 阅读 · 0 评论 -
牛客小白月赛99(上)
输出结果部分最终输出最大伤害。,即对怪物造成的最大伤害。计算最多倒塌骨牌数部分。原创 2024-09-12 12:30:00 · 1515 阅读 · 0 评论 -
牛客周赛 Round 58(上)
首先定义了两个变量,原创 2024-09-11 11:00:00 · 670 阅读 · 0 评论 -
牛客小白月赛100(下)
登录—专业IT笔试面试备考平台_牛客网代码思路 一、总体思路这段代码的目的是解决一个数组元素的交换问题,使得每个位置的元素与初始状态不同,同时要求输出最小交换次数。如果无法满足条件则输出 -1。二、具体步骤原理输入整数 :通过 从标准输入读取一个正整数 ,表示数组的长度。判断特殊情况:如果 等于 1:当数组长度为 1 时,由于只有一个元素,无法进行交换使得元素与原来不同,所以输出 -1。处理偶数长度数组:如果 是偶数:对于偶数长度的数组,可以通过两两交换相邻元素来满足每个位置的元素和原来都不原创 2024-09-10 16:00:00 · 752 阅读 · 0 评论 -
牛客小白月赛100(上)
这段代码的目的是判断给定的无向图是否连通。来记录每个值的下一个出现位置,默认值为 1(因为如果找不到相同值,则可以尝试跳到至少自身位置)。:对于每一个可能的起始点 ii,计算到达或超过 200000 所需的最小步数。数组,如果当前位置的值为 1,则记录此位置为最新出现的位置;并加上 i+1i+1,直到无法继续跳为止。记录所有起始点的最小步数。数组元素设置为 1,表示这个值至少在当前或之后的位置出现过一次。数组,如果遇到某个值,则将其对应的。:输出所有起始点中的最小步数作为答案。:读取输入的序列,并更新。原创 2024-09-10 09:30:00 · 767 阅读 · 0 评论 -
牛客周赛 Round 59(下)
值,得到最终的结果并输出。这个结果可能代表在某种特定情境下,除去特定的。是一个常量,可能用于某些计算中的取模操作,设置为 1e9 + 7。函数中:设置输入输出流的同步,并初始化随机数生成器。表示矩阵的最大尺寸,这里设置为 1010。,表示测试用例的数量,这里固定为 1。向量用于统计矩阵中沿着特定对角线方向(通过。个不同元素中选两个元素的组合数。组合数的计算:在数学中,从。种情况后,剩余的组合数量。的奇偶性)上的非零元素数量。整体逻辑:首先根据输入的。确定)上的非零元素数量。原创 2024-09-09 08:51:17 · 1248 阅读 · 0 评论 -
牛客周赛 Round 59(上)
值,得到最终的结果并输出。这个结果可能代表在某种特定情境下,除去特定的。个不同元素中选两个元素的组合数。组合数的计算:在数学中,从。种情况后,剩余的组合数量。整体逻辑:首先根据输入的。原创 2024-09-09 08:11:05 · 1566 阅读 · 0 评论