自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 P2249 【深基13.例1】查找

输入 𝑛n 个不超过 109109 的单调不减的(就是后面的数字不小于前面的数字)非负整数 𝑎1,𝑎2,…对于每次询问,给出一个整数 𝑞q,要求输出这个数字在序列中第一次出现的编号,如果没有找到的话输出 −1−1。数据保证,1≤𝑛≤1061≤n≤106,0≤𝑎𝑖,𝑞≤1090≤ai​,q≤109,1≤𝑚≤1051≤m≤105。第三行 𝑚m 个整数,表示询问这些数字的编号,从 11 开始编号。输出一行,𝑚m 个整数,以空格隔开,表示答案。第二行 𝑛n 个整数,表示这些待查询的数字。强烈建议学习stl库。

2024-07-10 15:09:11 203

原创 相邻不同数字的标记

来源:牛客网时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K。

2024-07-08 22:02:42 393

原创 P1048 [NOIP2005 普及组] 采药

这题的dp[i][j]数组的含义就是在前i个物品可以考虑选择的情况下容量为j的背包可以装的最大物品价值。当前的dp[i][j]可以由当前物品选与不选推出,dp[i][j]=max(dp[i-1][j],dp[i-1][j-w[i]]+v[i]),不选就是dp[i][j],选了就是dp[i-1][j-w[i]]+v[i];第一行有 22 个整数 𝑇T(1≤𝑇≤10001≤T≤1000)和 𝑀M(1≤𝑀≤1001≤M≤100),用一个空格隔开,𝑇T 代表总共能够用来采药的时间,𝑀M 代表山洞里的草药的数目。

2024-07-06 16:55:04 331

原创 游游的数组染色

来源:牛客网时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K。

2024-07-05 15:51:24 308

原创 游游画U.

来源:牛客网时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K。

2024-07-05 15:03:40 372

原创 嘤嘤不想打怪兽喵

来源:牛客网时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K。

2024-07-04 11:37:02 492

原创 7-1 懂的都懂

众所周知,在互联网上有很多话是不好直接说出来的,不过一些模糊的图片仍然能让网友看懂你在说什么。然而对这种言论依然一定要出重拳,所以请你实现一个简单的匹配算法。现在我们采集了原图的一些特征数据,由 N 个小于 255 的非负整数组成,假设对于给定的若干张由 Mi​ 个同样小于 255 的非负整数组成的新图的特征数据,每个数据都可以由原图中任意四个不同数据的平均值计算而来,则称新图为原图的相似图片。对于给出的数据,请你判断是不是相似图片。注意,不同数据指的并非是数据的值不同,而是不能取同一个数据多次。

2024-07-03 21:02:49 229

原创 P3374 【模板】树状数组 1

一看到区间加数和求区间段的和,本能的第一反应就是用差分和前缀和,甚至不用差分,因为它只要在一个数加1即可,只要前缀和处理,但是题目给的询问会在某个点加了数后再求区间和,这样就导致了每一次求区间和的时候都要去求一次前缀和这样就导致了时间复杂度爆了,为5e5*5e5,直接导致有三个点因为超时没法过去。对于 100%100% 的数据,1≤𝑛,𝑚≤5×1051≤n,m≤5×105。对于 30%30% 的数据,1≤𝑛≤81≤n≤8,1≤𝑚≤101≤m≤10;含义:输出区间 [𝑥,𝑦][x,y] 内每个数的和。

2024-07-03 15:08:27 350

原创 P3406 海底高铁

Uim 现在需要出差,要去 𝑀M 个城市,从城市 𝑃1P1​ 出发分别按照 𝑃1,𝑃2,𝑃3,⋯ ,𝑃𝑀P1​,P2​,P3​,⋯,PM​ 的顺序访问各个城市,可能会多次访问一个城市,且相邻访问的城市位置不一定相邻,而且不会是同一个城市。因为要统计到各个城市经过的次数,但是题目只给个经过的区间,所以要对区间内每个数进行加法,所以要用到差分和前缀和,因为初始值都是0所以就没有构造差分的必要了,直接定义是cityn[]区间内差分,然后再前缀和求和,就能得到每个城市经过的次数。第一行两个整数,𝑁,𝑀N,M。

2024-07-02 16:46:06 238

原创 P2004 领地选择

作为在虚拟世界里统帅千军万马的领袖,小 Z 认为天时、地利、人和三者是缺一不可的,所以,谨慎地选择首都的位置对于小 Z 来说是非常重要的。对于 100%100% 的数据,1≤𝑁,𝑀≤1031≤N,M≤103,1≤𝐶≤min⁡(𝑁,𝑀)1≤C≤min(N,M)。第一行三个整数 𝑁,𝑀,𝐶N,M,C,表示地图的宽和长以及首都的边长。对于 90%90% 的数据,𝑁,𝑀≤300N,M≤300。对于 60%60% 的数据,𝑁,𝑀≤50N,M≤50。一行两个整数 𝑋,𝑌X,Y,表示首都左上角的坐标。

2024-07-02 15:17:29 137

原创 前缀和的简单讲解

前缀和顾名思义就是求一个数组前n项的和,当然也可以用来求某一区间的和。用前缀和可以减少算法重复求和而产生的时间消耗。具体原理就是s[i]=a[1]+a[2]…下面这段代码就是求一个数组的前i项和以及某一段区间和。

2024-07-02 10:50:22 137

原创 大盗阿福1301

接下来的每组数据,第一行是一个整数N(1≤N≤100,000)�(1≤�≤100,000) ,表示一共有N�家店铺。要么洗劫这家,然后考虑间隔的下家,要么洗劫下家。阿福事先调查得知,只有当他同时洗劫了两家相邻的店铺时,街上的报警系统才会启动,然后警察就会蜂拥而至。对于第二组样例,阿福选择第11和44家店铺行窃,获得的现金数量为10+14=2410+14=24。输入的第一行是一个整数T(T≤50)�(�≤50) ,表示一共有T组数据。对于第一组样例,阿福选择第22家店铺行窃,获得的现金数量为88。

2024-04-11 21:39:34 144

原创 P1746 离开中山

现在爱与愁大神在 �1,�1x1​,y1​ 处,车站在 �2,�2x2​,y2​ 处。现在给出一个 �×�(�≤1000)n×n(n≤1000) 的地图,00 表示马路,11 表示店铺(不能从店铺穿过),爱与愁大神只能垂直或水平着在马路上行进。第 22 行到第 �+1n+1 行:整个地图描述(00 表示马路,11 表示店铺,注意两个数之间没有空格)。第 �+2n+2 行:四个数 �1,�1,�2,�2x1​,y1​,x2​,y2​。对于 20%20% 数据,满足 1≤�≤1001≤n≤100。

2024-03-30 14:03:25 297

原创 P1019 [NOIP2000 提高组] 单词接龙

单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合部分合为一部分,例如。这题要用dfs搜索,条件是每个单词最多用2次,然后还要确定两个单次能不能来连起来,两者之间链接重合的部分最小,这个就要预处理了。输入的第一行为一个单独的整数 n 表示单词数,以下 n 行每行有一个单词,输入的最后一行为一个单个字符,表示“龙”开头的字母。只需输出以此字母开头的最长的“龙”的长度。

2024-03-28 20:35:17 433

原创 P1025 [NOIP2001 提高组] 数的划分

把它看成k个数的排列,不过这个排列是组合,不是全排列,因为顺序不同值相同的一组数据只能算一组有效答案。观察样例可以看出答案是按字典序排列的,所以我们可以把遍历的下一个数的起点用这一次的选定的值来代替,这样就是组合计数了。将整数 n 分成 k 份,且每份不能为空,任意两个方案不相同(不考虑顺序)。例如:n=7,k=3,下面三种分法被认为是相同的。NOIP 2001 提高组第二题。还有剪枝缩短程序时间也很重要。11 个整数,即不同的分法。问有多少种不同的分法。

2024-03-27 23:16:59 313

原创 1114. 棋盘问题

在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放 k� 个棋子的所有可行的摆放方案数目 C�。

2024-03-27 20:03:24 302

原创 P1596 [USACO10OCT] Lake Counting S(找连通块数量)

由于近期的降雨,雨水汇集在农民约翰的田地不同的地方。我们用一个 �×�(1≤�≤100,1≤�≤100)N×M(1≤N≤100,1≤M≤100) 的网格图表示。一个网格与其周围的八个网格相连,而一组相连的网格视为一个水坑。给出约翰田地的示意图,确定当中有多少水坑。找到上面三个符合要求的点就用无尽的水去灌溉(DFS),知道没有水域为止。第 22 行到第 �+1N+1 行:每行 �M 个字符,每个字符是。输入第 11 行:两个空格隔开的整数:�N 和 �M。,它们表示网格图中的一排。输出一行,表示水坑的数量。

2024-03-21 21:07:32 811

原创 P1683 入门

有的瓷砖可以踩,我们认为是安全的,而有的瓷砖一踩上去就会有喷出要命的毒气,那你就死翘翘了,我们认为是不安全的。你只能从一块安全的瓷砖上走到与他相邻的四块瓷砖中的任何一个上,但它也必须是安全的才行。由于你是黄蓉的朋友,她事先告诉你哪些砖是安全的、哪些砖是不安全的,并且她会指引你飞到第一块砖上(第一块砖可能在任意安全位置),现在她告诉你进入桃花岛的秘密就是:如果你能走过最多的瓷砖并且没有死,那么桃花岛的大门就会自动打开了,你就可以从当前位置直接飞进大门了。以下 �H 行为一个 �×�H×W 的字符矩阵。

2024-03-21 20:14:17 331

原创 P2036 [COCI2008-2009 #2] PERKET

当我们添加配料时,总的酸度为每一种配料的酸度总乘积;1表示选这个调料,2表示不选,n个槽位全部填满,一共有2的n次方种选择方案。bfs的判断条件是当x大于n,也就是说n种调料的选与不选全部选好了,不要在dfs函数里面去枚举1到n;对于 100%100% 的数据,有 1≤�≤101≤n≤10,且将所有可用食材全部使用产生的总酸度和总苦度小于 1×1091×109,酸度和苦度不同时为 11 和 00。接下来 �n 行,每行 22 个整数 ��si​ 和 ��bi​,表示第 �i 种食材的酸度和苦度。

2024-03-17 21:08:29 366

原创 P1149 [NOIP2008 提高组] 火柴棒等式

最多24根火柴,其中4根用来构建等于和加号,20根火柴能构成的最大树我们先猜1000,如果不够再往大了猜,以免超时(这个最大应该是711),然后我们把3个位置的情况用dfs全部搜出来,1,2位置为0,0,的一条路走到黑,有符合的就数量加1。给你 �n 根火柴棍,你可以拼出多少个形如 �+�=�A+B=C 的等式?等式中的 �A、�B、�C 是用火柴棍拼出的整数(若该数非零,则最高位不能是 00)。22 个等式为 0+1=10+1=1 和 1+0=11+0=1。noip2008 提高第二题。

2024-03-15 20:02:11 380

原创 L1-048 矩阵A乘以B

给定两个矩阵A和B,要求你计算它们的乘积矩阵AB。需要注意的是,只有规模匹配的矩阵才可以相乘。即若A有Ra​行、Ca​列,B有Rb​行、Cb​列,则只有Ca​与Rb​相等时,两个矩阵才能相乘。

2024-03-14 20:44:05 348

原创 L1-016 查验身份证(天梯赛)

一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M现在给定一些身份证号码,请你验证校验码的有效性,并输出有问题的号码。

2024-03-13 20:23:09 372

原创 P2089 烤鸡

猪猪 Hanke 特别喜欢吃烤鸡(本是同畜牲,相煎何太急!因为他有 1010 种配料(芥末、孜然等),每种配料可以放 11 到 33 克,任意烤鸡的美味程度为所有配料质量之和。现在, Hanke 想要知道,如果给你一个美味程度 �n ,请输出这 1010 种配料的所有搭配方案。第二行至结束,1010 个数,表示每种配料所放的质量,按字典序排列。对于 100%100% 的数据,�≤5000n≤5000。如果没有符合要求的方法,就只要在第一行输出一个 00。一个正整数 �n,表示美味程度。

2024-03-11 20:44:04 391 1

原创 L1-096 谁管谁叫爹分数

L1-096 谁管谁叫爹分数 20全屏浏览切换布局作者 陈越单位 浙江大学《咱俩谁管谁叫爹》是网上一首搞笑饶舌歌曲,来源于东北酒桌上的助兴游戏。现在我们把这个游戏的难度拔高一点,多耗一些智商。不妨设游戏中的两个人为 A 和 B。游戏开始后,两人同时报出两个整数 NA​ 和 NB​。

2024-03-06 19:52:02 391

原创 P9950 [USACO20FEB] Mad Scientist B

我们将这两个字符串称为 �A 和 �B,其中 �A 是 Farmer John 原先想要的品种字符组成的字符串,�B 是他的奶牛们到达时组成的字符串。这个题目的算法标签写的是双指针,但是我用双指针的思路去想了好久,发现用两个指针好像解决这个问题有点难,然后我看了一下题目,发现只要找到不同子串数量就行,一个指针就可以解决。不幸的是,当这些奶牛到达他的农场,他给她们排队时,她们的品种组成的字符串与原先的不同。输入的第一行包含 �N,以下两行包含字符串 �A 和 �B。当然,还存在其他有效的执行两次操作的方案。

2024-03-05 20:49:02 425

原创 小红关鸡(双指针)

1.往往用暴力能有答案,但是时间一般会超,用到两个循环。2.数据一般是有单调性的,着点和二分挺像的。

2024-03-04 21:05:14 495

原创 An Easy Problem(贪心)

这题得知道十进制转二进制时,一直除二直到这个数为0就转化完了,我们把其中得1的数量统计进来就好了,也不用去管它的0的数量或者说它转成二进制是一个啥玩意,我们根据题目要求比较1的数量就行。举个例子,假如给定的N为78,其二进制表示为1001110,包含4个1,那么最小的比N大的并且二进制表示中只包含4个1的数是83,其二进制是1010011,因此83就是答案。给定一个正整数N,求最小的、比N大的正整数M,使得M与N的二进制表示中有相同数目的1。输出若干行对应的值。

2024-03-03 21:23:42 360

原创 金银岛(贪心)

每组测试数据占3行,第1行是一个正整数�(1≤�≤10000)w(1≤w≤10000),表示口袋承重上限。第2行是一个正整数�(1≤�≤100)s(1≤s≤100),表示金属种类。第3行有2�2s个正整数,分别为�_1,�_1,�_2,�_2,...,�_�,�_�n_1,v_1,n_2,v_2,...,n_s,v_s分别为第一种,第二种,...,第�s种金属的总重量和总价值(1≤�_�≤10000,1≤�_�≤10000)(1≤n_i≤10000,1≤v_i≤10000)。�k行,每行输出对应一个输入。

2024-02-29 19:55:52 398

原创 减减加加.

给你一个数列,共N个数字 你可以对每个数字,做如下三种操作之一1:将这个数字加12:将这个数字减去13:什么事也不做最终希望在这个数列中,某个数字出现的次数越多越好,输出出现次数即可。

2024-02-28 19:39:48 370

原创 小红的数字拆解

来源:牛客网时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K。

2024-02-27 20:33:51 533

原创 #P7095. 求约数之和2

这题用约数和定理不会超时。不会约数和定理的同学自行去学习一下。例如10的约数和为 1+2+5+10=18。输入一个整数,求其约数之和。一个数字N,N<2^63-1。

2023-12-27 19:51:23 413

原创 递归121

这题是一道典型的递归题目,调用函数,反复调用。如果想不到递归的思想是很难做的。题目描述sn=sn-1,n,sn-1;这是一个重要的条件,由此我们可以看出来,其实输出的东西只有n数字,所以我们要设计递归来实现反复输出,应为n两边是对称的,所以要两次调用递归,每次递归都要n-1,因为题目描述中的sn-1。递归的思想得慢慢理解,理解它的规律,不用递归是很难想到其他的方法来写的。S1代表数字序列长度为1,只有一个数字1。Sn代表由Sn-1,N,Sn-1构成。S3为1,2,1,3,1,2,1。例如S2为1,2,1。

2023-12-02 20:07:32 399

原创 买饼干的小Y

来源:牛客网。

2023-08-16 20:02:56 81

原创 P1068 [NOIP2009 普及组] 分数线划定

为了选拔最合适的人才,A 市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的 150%150% 划定,即如果计划录取 �m 名志愿者,则面试分数线为排名第 �×150%m×150%(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有选手。第一行,两个整数 �,�(5≤�≤5000,3≤�≤�)n,m(5≤n≤5000,3≤m≤n),中间用一个空格隔开,其中 �n 表示报名参加笔试的选手总数,�m 表示计划录取的志愿者人数。

2023-08-16 15:10:24 98

原创 糖果促销。

小度最喜欢吃糖啦!!!这天商店糖果促销,可给小度高兴坏了。促销规则:一颗糖果有一张糖纸,�p 张糖纸可以换取一颗糖果。换出来糖果的包装纸当然也能再换糖果。小度想吃 �k 颗糖果,他需要买多少颗糖?

2023-08-11 15:57:20 243

原创 中位数问题3

如果去掉并且只去掉第1数字后,新数列中的中位数是多少?如果去掉并且只去掉第2数字后,新数列中的中位数是多少?如果去掉并且只去掉第3数字后,新数列中的中位数是多少?如果去掉并且只去掉第n数字后,新数列中的中位数是多少?整个数列的中位数被认为是排序后第N/2个位置上的数字。给你一个数字N,再给你N个数字,N是偶数。接下来一行N个数字Xi,代表这个数列。

2023-08-10 15:21:49 45

原创 中位数问题6

如果去掉并且只去掉第1数字后,新数列中的中位数是多少?如果去掉并且只去掉第2数字后,新数列中的中位数是多少?如果去掉并且只去掉第3数字后,新数列中的中位数是多少?如果去掉并且只去掉第n数字后,新数列中的中位数是多少?整个数列的中位数被认为是排序后第N/2个位置上的数字。给你一个数字N,再给你N个数字,N是偶数。接下来一行N个数字Xi,代表这个数列。

2023-08-10 15:04:59 42

原创 取球游戏。

输入Q个操作 ,接下来的Q行,每行一个操作,可以是操作1,操作2或操作3,具体格式如 1 5 ,表示操作1 在白球上写一个数字5然后扔进袋子里;这题不能读到2就增加数,会超时,所以用一个s来记录增加的值,进来的就减s,输出时就加s,这样数据就没问题了。小J有很多空白的球和一个袋子。操作3 输出袋子里最小的数字并把它从袋子里取出。操作1 在白球上写一个数字Xi然后扔进袋子里;操作2 将袋子里所有球的数字都加上Xi;针对每个操作3,输出结果。

2023-08-09 21:09:01 93

原创 P1135 奇怪的电梯

大楼的每一层楼都可以停电梯,而且第 �i 层楼(1≤�≤�1≤i≤N)上有一个数字 ��Ki​(0≤��≤�0≤Ki​≤N)。例如: 3,3,1,2,53,3,1,2,5 代表了 ��Ki​(�1=3K1​=3,�2=3K2​=3,……),从 11 楼开始。第一行为三个用空格隔开的正整数,表示 �,�,�N,A,B(1≤�≤2001≤N≤200,1≤�,�≤�1≤A,B≤N)。对于 100%100% 的数据,1≤�≤2001≤N≤200,1≤�,�≤�1≤A,B≤N,0≤��≤�0≤Ki​≤N。

2023-08-05 11:59:21 46

原创 P1443 马的遍历

有一个 �×�n×m 的棋盘,在某个点 (�,�)(x,y) 上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步。对于全部的测试点,保证 1≤�≤�≤4001≤x≤n≤400,1≤�≤�≤4001≤y≤m≤400。一个 �×�n×m 的矩阵,代表马到达某个点最少要走几步(不能到达则输出 −1−1)。输入只有一行四个整数,分别为 �,�,�,�n,m,x,y。队列+bfs,详解ac代码。

2023-08-04 16:23:11 69

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除