- 博客(79)
- 收藏
- 关注
原创 暴搜之珠心算
输入共两行,第一行包含一个整数 n (1 <= n <= 100),表示测试题中给出的正整数个数。珠心算训练,既能够开发智力,又能够为日常生活带来很多便利,因而在很多学校得到普及。第二行有 n 个正整数,每两个正整数之间用一个空格隔开,表示测试题中给出的正整数。珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术。方老师采用一种快速考察珠心算加法能力的测验方法。最近方老师出了一些测验题,请你帮忙求出答案。输出共一行,包含一个整数,表示测验题答案。
2025-08-18 11:10:59
89
原创 简单题用深搜,是为了提高水平(不是)
当某个朋友得知藏宝图后,如果其联络人还不知道这个秘密,就会立刻通知对方。每个朋友 X=1,2,...,N 都有一个专属联络人 AX。输出一行为一个整数,表示最终有几个朋友知道小鳄鱼旦旦的秘密。第二行输入包含 N 个整数,表示每个人的联络人的编号。某天旦旦不小心让某个朋友知道了它珍藏的彩虹糖藏宝图!现在想知道:最终会有几个朋友知道藏宝图的位置?小鳄鱼旦旦有一群编号为 1∼N 的好朋友。
2025-08-18 11:09:17
151
原创 做数独啦!鳄鱼侦探与数独谜题
小鳄鱼旦旦的好朋友小狐狸最近迷上了数独游戏,但每次填写后都担心答案是否正确。为了帮助小狐狸验证结果,旦旦决定设计一个能自动解决数独的程序。现在,这个任务就交给你了!每组测试会给你一个9×9的矩阵,同一行相邻的两个元素用一个空格。对于每组测试,请输出它的解,同一行相邻的两个数用一个空格分开。其中1-9代表该位置的已经填好的数,问号(?)表示需要你填的数。输入保证每组数独都有解;当解不唯一的时候输出任意一个解都可以。题目给定的数独有解,你的程序需要正确处理多组测试数据。
2025-08-04 09:49:29
215
原创 (对我来说)地狱级宽搜 三维标记!追踪行动
未来都市中,反叛者潜入了中央城区,意图窃取核心数据。特工「幽影」作为情报局精英,受命潜入区域追踪目标。中央 AI 判定,目标人物将在一个隐藏据点内停留有限时间,幽影必须尽快接触并制止。使用装置不消耗时间,但如果装置耗尽,则无法继续穿越有守卫把守的路径。该区域布局复杂,有些路径由敌方守卫把守,必须清除后才能通行。输出一个整数,表示幽影接触目标所需的最短时间。若无法抵达目标据点,则输出。,表示地图的行数、列数,以及幽影携带的抑制装置数量。接下来 M 行,每行 N 个字符,表示该区域的布局。你需要帮助幽影判断,
2025-08-04 09:40:17
156
原创 深搜动规:小鳄鱼的凉爽小屋
每只小鳄鱼 i 占据了一些房间,范围是 [s_i, t_i],并且它们对房间的温度要求不同——每个房间的温度至少要降低 c_i 单位,否则它们会感到不舒服。鳄鱼屋里安装了 M 台空调,每台空调 i 可以花费 m_i 单位的钱运行,运行后能降低 [a_i, b_i] 范围内所有房间的温度 p_i 单位。接下来 M 行,每行四个整数 a_i, b_i, p_i, m_i,表示第 i 台空调的覆盖范围、降温能力和运行费用。1 ≤ a_i, b_i, s_i, t_i ≤ 100(房间编号)
2025-08-04 09:32:13
166
原创 完全背包模板
医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同种类的草药,采每一种都需要一些时间,每一种也有它自身的价值。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。输入第一行有两个整数,分别代表总共能够用来采药的时间 t 和代表山洞里的草药的数目 m。第 2 到第 (m+1) 行,每行两个整数,第 (i+1) 行的整数 a i ,b i 分别表示采摘第 i 种草药的时间和该草药的价值。输出一行,这一行只包含一个整数,表示在规定的时间内,可以采到的草药的最大总价值。
2025-05-22 17:07:15
177
原创 分组背包问题:如何最大化背包价值?
第一行有两个整数 N,V ,用空格隔开,分别表示物品组数和背包容量。接下来有 N 组数据: 每组数据第一行有一个整数 Si,表示第 i 个物品组的物数量;每组数据接下来有 Si 行,每行有两个整数 vij, wij,用空格隔开,分别表示第 i 个物品组的第 j个物品的体积和价值;每组物品有若干个,同一组内的物品最多只能选一个。每件物品的体积是 vij ,价值是 wij ,其中 i 是组号,j 是组内编号。求解将哪些物品装入背包,可使物品总体积不超过背包容量,且总价值最大。输出一个整数,表示最大价值。
2025-05-19 21:03:42
155
原创 多重背包模板
第 i 种物品最多有 si 件,每件体积是 vi ,价值是 wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输入格式 第一行两个整数,N,V ,用空格隔开,分别表示物品种数和背包容积。接下来有 N 行,每行三个整数 vi,wi,si ,用空格隔开,分别表示第 i 种物品的体积、价值和数量。输出格式 输出一个整数,表示最大价值。说明/提示 0<N,V≤100 0<vi,wi,si≤100。就不过多讲解了,只需加上*k,其他与01背包没有什么区别。
2025-05-19 21:01:02
244
原创 01背包专题4:小A点菜
餐馆虽低端,但是菜品种类不少,有 N 种 (N≤100),第 i 种卖 ai 元 (ai≤1000)。由于是很低端的餐馆,所以每种菜只有一份。小 A 奉行“不把钱吃光不罢休”的原则,所以他点单一定刚好把 uim 身上所有钱花完。他想知道有多少种点菜方法。uim 神犇拿到了 uoi 的 ra(镭牌)后,立刻拉着基友小 A 到了一家……第二行起 N 个正数 ai(可以有相同的数字,每个数字均在 1000 以内)一个正整数,表示点菜方案数,保证答案的范围在 int 之内。
2025-05-04 09:10:09
191
原创 01背包专题3:装箱问题
有一个箱子容量为V(正整数,0 ≤ V ≤ 20000),同时有n个物品(0 < n ≤ 30),每个物品有一个体积(正整数)。要求从n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。第一行:一个整数,表示箱子容量V;第二行:一个整数,表示物品个数n;接下来n行,分别表示这n个物品的各自体积。看似求最小值,实则是先求出最多能装的物品的体积,再拿总容量减去最大的体积。输出只有一行数据,该行只有一个数,表示最小的箱子剩余空间。
2025-04-29 11:27:13
191
原创 01背包专题2:开心的金明
从第2行到第m+1行,每行有2个非负整数v[j],w[j](其中v表示该物品的价格(v<=10000),w表示该物品的重要度(1~5))金明有N元买m个物品,使每件物品的价值(价值=价格*重要度)总和最大,每件物品只有一件。输出只有一个正整数,为不超过总钱数的物品的价值总和的最大值(<100000000)。N m(其中N(<30000)表示总钱数,m(<25)为能购买物品的个数。设第j件物品的价格为v[j],重要度为w[j]只需加上对价值的计算即可。
2025-04-29 11:24:45
174
原创 01背包专题1:采药
医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。输入描述 第一行有两个整数T(1 <= T <= 1000)和M(1 <= M <= 100),用一个空格隔开,T代表总共能够用来采药的时间,M代表山洞里的草药的数目。接下来的M行每行包括两个在1到100之间(包括1和100)的整数,分别表示采摘某株草药的时间和这株草药的价值。输出描述 包括一行,这一行只包含一个整数,表示在规定的时间内,可以采到的草药的最大总价值。
2025-04-29 11:23:09
147
原创 01背包简介
经典0—1背包问题,有n个物品,编号为i的物品的重量为w[i],价值为c[i],现在要从这些物品中选一些物品装到一个容量为m的背包中,使得背包内物体在总重量不超过m的前提下价值尽量大。现在,想要dp[i][j]的值最大,我们对第i件物品只有两种状态:取(1)或不取(0)。第2..n+1行:每行二个整数w[i],c[i],表示每个物品的重量和价值。我们可以用:当来到第i件物品,且背包大小为j时,最大价值为dp[i][j]。如果不取,那么dp[i][j]的最大值即为来到第i-1件物品时的最大值,即。
2025-04-20 09:27:35
247
原创 动态规划专题6:渡河
育才小镇有一条河流(河流是直的),南北两岸各有 N 个小店。北岸的每一个小店有一个唯一的友好小店在南岸,且他们的友好友好彼此不同。但是,小镇镇长希望能在保证安全的情况下,尽可能多地开通航线。由于 N 非常大(1 <= N <= 2024),所以必须用程序解决。输入描述 第1行有1个整数:N(1 ≤ N ≤ 2024)。接下来 N 行,每行两个数 A、B,表示这一对友好城市与河源头的距离(不过100000),其中A代表北岸城市、B代表南岸城市。输出描述 只有一个整数,表示可以开通轮渡的最大线路数。
2025-04-20 08:23:31
144
原创 动态规划专题5:最长上升子序列
第一行一个整数N(N<=1000) 表示长度,第二行 N个数 A[i]表示序列里面的数,每个数不超过int范围。给定一个长度为 N 的整数序列 A。一行 表示最长递增子序列的长度。该子序列中每个元素递增。
2025-04-17 18:26:18
240
原创 动态规划专题4:不同路径
机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。一个机器人位于一个 n x m 网格的左上角 (起始点在下图中标记为 “Start” )。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?接下来输入 n 行 m 列的数字,0表示没有障碍,1表示有障碍。其实可以将障碍的位置的路径数设为0,这样可以省去特判。网格中的障碍物和空位置分别用 1 和 0 来表示。输入两个数,分别表示 n 和 m(n 行 m 列)
2025-04-13 08:49:08
187
原创 动态规划专题3:最低通行费
好在这些毒花的长势不同,它们能够造成的伤害也不同。卡皮巴拉需要从左上角(1,1)处进入森林,从右下角(n,n)处离开森林,并且它必须在(2n-1)个单位时间穿越出去。卡皮巴拉要去寻宝,但是在它的必经之路上有一块 n*n 大小的原始森林。森林里每一个格子都长了一种有毒的花,经过这个格子的时候就会受到一定的伤害。后面 n 行,每行 n 个不大于100的整数,为网格上每个小方格的伤害(在100以内)第一行是一个整数,表示正方形的宽度 n (1≤ n <100)输出卡皮巴拉受到的最小伤害即可。
2025-04-13 08:44:34
189
原创 动态规划专题2:摘花生
地里每个道路的交叉点上都有种着一株花生苗,上面有若干颗花生,经过一株花生苗就能摘走该它上面所有的花生。一行是两个整数,分别代表花生苗的行数 R 和列数 C (1 ≤ R, C ≤ 100)卡皮巴拉只能向东或向南走,不能向西或向北走。它来到一片有网格状道路的矩形花生地(如下图),从西北角进去,东南角出来。每行数据有C个整数,按从西向东的顺序描述了该行每株花生苗上的花生数目M。接下来R行数据,从北向南依次描述每行花生苗的情况。输出一行,内容为卡皮巴拉能摘到得最多的花生颗数。卡皮巴拉想摘点花生送给赵老师。
2025-04-13 08:41:14
192
原创 动态规划专题1:硬币问题
利用动态规划的状态转移方程,可得:dp[i]=min(dp[i-1]+1,dp[i-5]+1,dp[i-11]+1)。给定n,问:至少用多少枚硬币,可以恰好凑出n元?今有无限的面值为1,5,11元的硬币。一个整数,表现最少的硬币数。
2025-04-13 08:35:58
141
原创 GESP4级专题3:小杨的字典
和一些A语言单词构成,每个单词之间必定由至少一个标点符号分割,你的程序需要把这段话中的所有A语言单词替换成它的B语言翻译。在遥远的星球,有两个国家A国和B国,他们使用着不同的语言:A语言和B语言。小杨是B国的翻译官,他的工作是将A语言的文章翻译成B语言的文章。为了顺利完成工作,小杨制作了一本字典,里面记录了 个A语言单词对应的B语言单词,巧合的是,这些单词都由地球上的26个小写英文字母组成。例如,小杨的字典中包含2个A语言单词abc和d,它们的B语言翻译分别为a和def,那么我们可以把A语言文章。
2025-04-05 10:47:33
155
原创 GESP4级专题2:进制转换
N进制数指的是逢N进一的计数制。例如,人们日常生活中大多使用十进制计数,而计算机底层则一般使用二进制。除此之外,八进制和十六进制在一些场合也是常用的计数制(十六进制中,一般使用字母 A 至 F 表示十至十五;本题中,十一进制到十五进制也是类似的)。输入的第一行为一个十进制表示的整数N。接下来N行,每行一个整数K,随后是一个空格,紧接着是一个K进。在本题中,我们将给出N个不同进制的数。输出N行,每一个十进制数,表示对应K进制数的十进制数值。十位为F(转化为十进制的15),累加15*(16^1)
2025-04-05 10:42:53
268
原创 GESP4级专题1:幸运数
例如,16347:第1位为7,乘以7结果为49,大于9,各位数相加为13,仍大于9继续各位数相加,最后结果为4;最后变化结果为76344,对于结果76344其各位数之和为24,是8的倍数,因此16347是幸运数。奇数位做如下变换:将数字乘以7,如果不大于9则作为变换结果,否则把结果的各位数相加,如果结果不大于9则作为变换结果,否则(结果仍大于9)继续把各位数相加,直到结果不大于9,作为变换结果。变换结束后,把变换结果的各位数相加,如果得到的和是8的倍数,则称一开始的正整数为幸运数。
2025-04-05 10:34:13
394
原创 做出育才官网普及/提高-的题了!深搜专题14:玩木棒
输入文件中的第一行是一个整数 n 表示测试的组数,接下来 n 行表示每组的测试数据。每行的第一个数为 m(4≤m≤20),接下来 m 个数ai(1≤ai≤1000) 表示木棒的长度。现给出一些木棒长度,那么能否用给出的木棒(木棒全用完)组成一个正方形呢?对于每组测试数据,如果可以组成正方形输出“yes”,否则输出“no”。
2025-03-29 14:45:15
162
原创 深搜专题13.2 质数毛毛虫
如果一个数字能够被分成若干段,每一段的数字都是一个质数,那我们说这些质数串成了一条“质数毛毛虫”。例如,357111317就可以被分成3、5、7、11、13、17这6段,它们组成了一条“质数毛毛虫”。现在给你一些数字,请你判断,这些数字能不能被拆成由若干个质数组成的毛毛虫。这些数字能不能被拆成由若干个质数组成的毛毛虫。如果能,输出“yes”,如果不能,输出“no”。接下来 N 行,每行一个数字,在int范围内。第一行 N,表示有 N 个数字待输入。与上一题类似,注释详见13。
2025-03-29 14:40:14
190
原创 深搜专题13:分割回文串
给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是回文串。返回 s 所有可能的分割方案数。2种方案数是[“a”,“a”,“b”]和[“aa”,“b”]一个字符串 s,1 <= s的长度 <= 10。s 所有可能的分割方案数。可以使用拼接的方式。
2025-03-29 14:38:15
204
原创 外婆的数学题 (快速幂)
小C是个数学迷,总是缠着曾经是数学老师的外婆出题考考自己。输入包括两个整数,分别表示:x、y(1<=x,y<=1e9)。关键就是:底数翻倍,指数减半,指数是奇数就单独分出一个底数。这下可把小C给难住了,你能帮助他解决这个问题么?输出包括一个整数,表示算式的答案。
2025-03-25 21:13:58
200
原创 深搜专题12:售货员的难题
描述 某乡有n个村庄( 1 < n < 10 ),有一个售货员,他要到各个村庄去售货,各村庄之间的路程s(0 < s < 1000 )是已知的,且A村到B村与B村到A村的路大多不同。为了提高效率,他从商店出发到每个村庄一次,然后返回商店所在的村,假设商店所在的村庄为1,他不知道选择什么样的路线才能使所走的路程最短。请你帮他选择一条最短的路。村庄数n和各村之间的路程(均是整数)1 0 2 {村庄2到各村的路程}2 1 0 {村庄3到各村的路程}0 2 1{村庄1到各村的路程}
2025-03-15 14:47:22
223
原创 深搜专题11:分数字
描述 将整数N分成K个整数的和且每个数大于等于A小于等于B,求有多少种分法 注意:5 0 0 0 和 0 5 0 0被视为一种方法 输入描述 输入只有一行,分别输入N,K,A,B (所有数字均为不大于30的非负整数) 输出描述 输出只有一行,即多少种分法。这道题和分拆数字很像,只需加上对数值的判断即可。
2025-03-15 14:44:29
319
原创 深搜专题10:组合
描述 已知一个一维数组a[1..n](n<20),又已知一整数m。如能使数组a中任意几个元素之和等于m,则输出YES,反之则为NO。输入描述 输入包括两行,第一行包含两个整数n m(1<=n<20,1<=m<=1000000),第二行输入n个整数(每个数不会超过1000000)。输出描述 如能使数组a中任意几个元素之和等于m,则输出YES,反之则为NO。类似《专题3 素数圈》,为一维的深搜,比较简单。
2025-03-14 18:12:13
312
原创 深搜专题9:取数游戏
对于每一组数据,第一行有两个正整数 N 和 M,表示了数字矩阵为 N 行 M 列。接下来 N 行,每行 M 个非负整数,描述了这个数字矩阵。共 T 行,每行一个非负整数,输出所求得的答案。第一行有一个正整数 T,表示了有 T 组数据。类似宽搜的题目(毕竟是兄弟嘛!
2025-03-14 18:08:15
343
原创 深搜专题8:N皇后
描述 检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行,每列,每条对角线(包括两条主对角线的所有对角线)上都至多有一个棋子,第i个数字表示在第i行的相应位置有一个棋子,如下: 行号 1 2 3 4 5 6 列号 2 4 6 1 3 5 这只是跳棋放置的一个解。请写一个程序找出所有跳棋放置的解,并把它们以上面的序列方法输出。输入描述 一个数字N (6<=N<=14) 表示棋盘是N x N大小的。输出描述 前三行为前三个解,每个解的两个数字之间用一个空格隔开。难点就是在如何判断对角线。
2025-03-14 18:05:04
307
原创 深搜专题7:最大质数
给定一个正整数的序列,从中选出若干个数字,使它们的和为质数,请找出其中最大的一个质数。如果不存在任何组合的和为质数,则输出“NO”。接下来是一行正整数,共计 N 个,每个正整数的大小都不超过20。如果不存在任何组合的和为质数,则输出“NO”。一个整数 N (5 <= N <= 20)。
2025-03-02 13:54:12
312
原创 深搜专题6:迷宫问题
找出一条 从入口(左上角)到出口(右上角)的路径(不能重复)。如果无法到达,输出0。即从某点开始,有八个方向可走,前进方格中数字为0时表示可通过,为1时表示不可通过,要另找路径。设有一个N*N方格的迷宫,入口和出口分别在左上角和右上角。第1行有一个整数n,接下来n行每行有n个整数。输出符合题意的路径总数。
2025-03-02 13:51:26
195
原创 深搜专题5:分拆数字(个数确定)
将一个数字 n 分拆成 m 个正整数的和(m < n),按照字典序输出。(1、1、3)(1、3、1)(3、1、1)是相同的分拆方法。输入描述 两个正整数 n,m。(5 <= n <= 20)输出描述 按照字典序输出所有分拆方法,每个方法一行。加上个数的判断即可。
2025-03-02 13:49:08
154
原创 深搜专题4:分拆数字
将一个数字 n 分拆成若干个正整数的和(它本身也是一种分拆方法),按照字典序输出。(1、1、3)(1、3、1)(3、1、1)是同一种分拆方法。一个正整数 n,(5 <= n <= 20)按照字典序输出所有分拆方法,每个方法一行。
2025-03-02 13:46:01
190
原创 深搜专题3:素数圈
描述 正整数n表示有n个数,分别是正整数1~n,然后把这n个数组成一个圈,使得相邻两个整数之和均为素数。输出时,从整数1开始逆时针排列。1 4 3 2 5 6 得解。(6+4=10,不行,回退)(4+5=9,不行,回退)(3+5=8,不行,回退)(3+6=9,不行,回退)(2+4=6,不行,回退)(5+3=8,不行,回退)(5+4=9,不行,回退)(6+3=9,不行,回退)(2+6=8,不行,回退)(1+3=4,不行,回退)(4+2=6,不行,回退)输入描述 输入整数n。输出描述 按要求输出。
2025-02-23 10:10:53
307
原创 深搜专题2:组合问题
所有的组合,每一个组合占一行且其中的元素按由小到大的顺序排列,所有的组合也按字典顺序。一行两个自然数n、r ( 1 < n < 21,1 < = r < = n )。我们可以简单地将n个元素理解为自然数1,2,…,n,从中任取r个数。组合问题就是从n个元素中抽出r个元素(不分顺序且r < = n),字典顺序及从小到大。
2025-02-22 13:28:51
347
原创 深搜专题1:全排列问题
排列,一般地,从n个不同元素中取出m(m≤n)个元素,按照一定的顺序排成一列,叫做从n个元素中取出m个元素的一个排列(Arrangement)。特别地,当m=n时,这个排列被称作全排列(Permutation)。输出所有的全排列,每个排列占一行,同一个排列中,两个数之间用一个空格隔开。每个全排列一行,相邻两个数用空格隔开(最后一个数后面没有空格)现给一个正整数(1<=n<=8),输出所有全排列。
2025-02-22 13:25:58
194
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人