刷题集
算法好蓝,我好难
这个作者很懒,什么都没留下…
展开
-
牛客寒假基础训练营1
文章目录前言九小时九个人九扇门炸鸡块君与FIFA22Baby's first attempt on CPU牛牛做数论炸鸡块君的高中回忆中位数切分ACM is all you need 前言 第一次参加牛客训练营,题目真的很有挑战性 (不会做) ,题目包含的知识面很广 (其实是我知识面太窄了) 补题就花了好长的时间 (其实是我摆烂,一天也就补个一两题) ,再加上正逢春节假期,当然要好好休息啦。于是这一场的补题,从去年拖到了今年。(不会吧不会吧,不会有人过年当晚、大年初一,初二还在学习吧) 九小时九个人九扇门原创 2022-02-04 17:34:24 · 768 阅读 · 2 评论 -
刷题——跳石头(二分)
链接:https://ac.nowcoder.com/acm/contest/22353/C 来源:牛客网 题目描述 一年一度的“跳石头”比赛又要开始了! 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石。组委会已经选择好了两块岩石作为比赛起点和终 点。在起点和终点之间,有 N 块岩石(不含起点和终点的岩石)。在比赛过程中,选手们将从起点出发,每一步跳 向相邻的岩石,直至到达终点。 为了提高比赛难度,组委会计划移走一些岩石,使得选手们在比赛过程中的最短跳跃距离尽可能长。由于预算限制, 组委会至原创 2022-01-14 11:30:12 · 251 阅读 · 0 评论 -
Codeforces Round #765 (Div. 2) B
链接:https://codeforces.com/contest/1625/problem/B 思路:一开始想的是双指针找相同的数,然后根据下标得到最大子串长度。后来发现会超时,于是想到了用vector+pair,来存数与对应的下标,再将数排序,那么相等的数就会相邻,然后根据下标求子串长度,再维护个最大值就行。 最大子串的长度就是,前面一个数的位置+n-后面一个数的位置。 我的代码: #include<bits/stdc++.h> using namespace std; typedef pa原创 2022-01-14 11:03:51 · 146 阅读 · 0 评论 -
刷题——栈和排序
链接 :https://ac.nowcoder.com/acm/contest/22669/A 来源:牛客网 题目描述 给你一个1->n的排列和一个栈,入栈顺序给定 你要在不打乱入栈顺序的情况下,对数组进行从大到小排序 当无法完全排序时,请输出字典序最大的出栈序列 输入描述: 第一行一个数n 第二行n个数,表示入栈的顺序,用空格隔开,结尾无空格 输出描述: 输出一行n个数表示答案,用空格隔开,结尾无空格 示例1 输入 5 2 1 5 3 4 输出 5 4 3 1 2 说明 2入栈;1入栈;5入栈;5原创 2022-01-14 10:36:27 · 598 阅读 · 0 评论 -
二维费用的背包问题
板子题 链接:https://www.acwing.com/problem/content/8/ 有 N 件物品和一个容量是 V 的背包,背包能承受的最大重量是 M。 每件物品只能用一次。体积是 vi,重量是 mi,价值是 wi。 求解将哪些物品装入背包,可使物品总体积不超过背包容量,总重量不超过背包可承受的最大重量,且价值总和最大。 输出最大价值。 输入格式 第一行三个整数,N,V,M,用空格隔开,分别表示物品件数、背包容积和背包可承受的最大重量。 接下来有 N 行,每行三个整数 vi,mi,wi原创 2021-12-01 14:55:29 · 950 阅读 · 2 评论 -
acwing3998. 变成1
链接:https://www.acwing.com/problem/content/4001/ 给定一个二进制数 x,在它变为 1 之前,不断对它进行如下操作: 如果 x 为奇数,则将 x 加 1。 如果 x 为偶数,则将 x 除以 2。 请问,多少次操作后,x 会变为 1。 输入格式 共一行,一个 01 字符串,表示二进制数 x。 输出格式 一个整数,表示所需操作次数。 数据范围 前六个测试点满足,x 的位数不超过 11。 所有测试点满足,x 的首位不为 0,且位数不超过 106。 输入样例1:原创 2021-10-17 10:09:02 · 171 阅读 · 0 评论 -
数独(dfs+优化+位运算)
链接:https://www.acwing.com/problem/content/168/ 来源:《算法竞赛进阶指南》 数独是一种传统益智游戏,你需要把一个 9×9 的数独补充完整,使得图中每行、每列、每个 3×3 的九宫格内数字 1∼9 均恰好出现一次。 请编写一个程序填写数独。 输入格式 输入包含多组测试用例。 每个测试用例占一行,包含 81 个字符,代表数独的 81 个格内数据(顺序总体由上到下,同行由左到右)。 每个字符都是一个数字(1−9)或一个 .(表示尚未填充)。 您可以假设输入原创 2021-10-10 14:09:28 · 303 阅读 · 0 评论 -
最小的和(多路归并)
地址:https://www.acwing.com/problem/content/3998/ 来源:AcWing,第20场周赛 给定两个长度为 n 的整数序列 a1,a2,…,an 和 b1,b2,…,bn。 现在要对序列 a 进行恰好 k1 次操作,对序列 b 进行恰好 k2 次操作。 每次操作具体流程为选取序列中的一个元素,并将其加 1 或减 1。 要求所有操作进行完毕以后,∑i=1n(ai−bi)2 尽可能小。 输入格式 第一行包含三个整数 n,k1,k2。 第二行包含 n 个整数 a1,原创 2021-10-09 23:58:22 · 186 阅读 · 0 评论 -
石子游戏(前缀和加枚举)
原题链接 https://www.acwing.com/problem/content/3996/ 题目描述 有 n 堆石子,石子数量分别为 a1,a2,…,an。 现在,需要你通过取石子操作,使得所有堆石子的数量都相同。 一轮取石子操作的具体流程为: 设定一个石子数量上限 h。 检查每堆石子,对于石子数量大于 h 的石子堆,取出多余石子,使其石子数量等于 h。 要求,在一轮取石子操作中取走的石子数量不得超过 k。 请计算并输出为了使得所有堆石子的数量都相同,最少需要进行多少轮取石子操作。 输入格原创 2021-10-04 22:15:37 · 303 阅读 · 0 评论 -
逆序对——归并排序求解
---------------------------------琪露诺的排序--------------------------------------------- 描述 笨蛋琪露诺喜欢用冰块搭积木。这天她用她的能力制造了N根冰柱作为材料,但这些冰柱显得参差不齐,不过好在她 知道这些冰柱的高度。患有强迫症的小妖精琪露诺决定将这N根冰柱从小到大排列,不幸的是,琪露诺是个笨蛋,她 只能将相邻的两根冰柱调换位置。现在她想知道她最少需要进行几次调换才能使这些冰柱变得有序。 输入 输入共两行。 第一行N(原创 2021-08-18 16:21:58 · 77 阅读 · 0 评论 -
特殊构造的字符串
描述 给定一个长度为n的字符串,如果满足以下的构造方法,则输出YES,否则输出NO。 ①:首先字符串s为空,即s = “”; ②:在第i步,取在字母表中第 i 小的小写字母,记为c,将其添加到s的首部或者尾部,即s = s + c或者s = c + s ③:重复进行第2步 输入 第一行包含一个整数t(1≤t≤104)-测试用例的数量。然后是测试用例。 每个测试用例都写在包含一个字符串s的单独的行上。字符串s由拉丁字母的小写字母组成,长度在1到26之间(含26)。 输出 输出t行,每一行都必须包含对应测试用例原创 2021-07-31 09:38:30 · 212 阅读 · 0 评论 -
找两个变数最大公因数的最大值
老祖宗的游戏 描述 欢欢和晴晴玩游戏,游戏的规则是,欢欢给出两个正整数a,b ,然后晴晴可以按照如下规则进行操作: 1.将a和b都增加1。 2.将a和b都减少1。只有当a和b都大于0时才能执行此操作。 3.操作次数为任意次 现在欢欢让晴晴求出gcd(a,b)的最大值,如果gcd(a,b)无限大,那么输出"0" 输入 第一行输入包含一个整数t(1≤T≤5*10^{3})(1≤T≤5∗10 *3) 测试用例的数量。 每个测试用例的第一行也是唯一 一行包含两个整数a和b(0≤a,b<=10e{1原创 2021-07-29 15:59:29 · 121 阅读 · 0 评论 -
一道有趣的题
奇怪的函数 描述 一天高数老师给出了一个奇怪的函数f(x),(x是一个正整数)如下:将x的十进制表示的所有数字从后往前写,然后去掉前导零。 例如,f(321)=123,f(120)=21,f(1000000)=1,f(111)=111。 让我们定义另一个函数g(x)=x/{f(f(x))} (x也是正整数),您的任务如下: 对于给定的正整数n,计算所有数字x中g(x)的不同值的个数 , 1\leq x \leq n1≤x≤n 输入 第一行包含一个整数t(1≤t≤100)t(1≤t≤100)测试用例的数量。原创 2021-07-29 16:38:04 · 144 阅读 · 0 评论