- 博客(14)
- 收藏
- 关注
原创 【题解】取数游戏
小 A 和小 B 每人一回合,在一个人的回合中,他可以选择当前硬币序列最左侧或者最右侧的硬币,并将他从序列中取出,将其价值累加到自己获得的累计价值中,然后进行另一个人的回合。第四回合,小 B 取走最左侧的硬币,序列变为空,小 B 的累加价值为 30 + 10 = 40,游戏结束。第三回合,小 A 取走最左侧的硬币,序列变为 {10},小 A 的累加价值为 35 + 25 = 60。第一回合,小 A 取走最右侧的硬币,序列变为{30, 25, 10},小 A 的累加价值为 35。小 A 和小 B 在玩游戏。
2024-06-22 16:04:07
408
原创 【题解】卖鸭子
同一个大小的笼子装同样多的鸭子,不同大小的笼子装不同数目的鸭子。大笼子10个鸭子一笼,中笼子6个鸭子一笼,小笼子3个鸭子一笼。但是,Roger永远无法满足需要1、2、4、5、7、8、11、14或17只鸭子的买者。也就是说,你需要告诉他他不能满足的最大的鸭子需求量是多少。现在,你得知,Roger有n种大小不同的笼子,每种笼子里装Ai只鸭子。你需要编写程序计算,最大的不能用这些笼子凑出的鸭子数是多大。如果所有的鸭子需求量都能满足或者不存在最大的不能满足的需求量,请输出0。输出最大的不能满足的鸭子需求量。
2024-06-01 16:38:16
366
原创 【题解】货币系统五
这是因为要保证第 i 次循环中第 i 种货币只选一次,保证在考虑 “选入第 i 种货币”时,依据的是一个从未选过第i种货币的子结果dp[j-t[i]]。他们对货币的数值感到好奇。现在完全背包的特点怡是每种货币可选无限件,所以在考虑“加选一件第 i 种货币”时,正需要一个已选入第 i 种货币的子结果dp[j-t[i]],所以就可以采用 j 顺序来循环。举例来说,使用一个货币系统{1,2,5,10...}产生18单位面值的一些可能的方法是:18x1,9x2,8x2+2*1,3x5+2+1等等其它。
2024-06-01 15:49:44
839
原创 【题解】笔直的水管
奶牛们想把水从池塘运输到牛棚里,池塘和牛棚相距D个单位。它们有P根水管,每根水管由2个整数来描述:水管长度Li,最大流量Ci。但是,要让水从池塘通过运输管道流到牛棚里,管道的长度必须恰好等于池塘和牛棚的距离(也就是说,水管长度Li之和为D)!),那么这条运输管道的流量就是构成这条管道的所有水管中最小的一个流量。第1行:两个整数,D(7<=D<=100,000)和P(1<=P<=350);第2至P+1行:每行两个整数Li和Ci(0<=Li,Ci<=2^24)。现在只要求构造一条运输管道,求其最大流量。
2024-05-25 17:31:44
295
原创 【题解】庆功会
接下来n行,每行3个数,v、w、s,分别表示第i中物品的价格、价值(价格 与 价值 是不同的概念)和必须购买的数量(要么就不买,要买就只能买s件),其中v<=100,w<=1000,s<=10。于是购买东西的任务就交给了小李同学(钱由班会出)。由于小李同学四肢发达,头脑简单,于是这个任务便落到了你头上。第一行二个数n(n<=500),m(m<=6000),其中n代表希望购买的物品的种数,m表示班会拨给小李的钱数。一个数,表示此次购买能获得的最大的价值(注意!算是非常标准的01背包模板题。
2024-05-25 16:30:31
472
原创 【题解】货币系统四
给你n个钱币,每个钱币不仅有面值,还有重量,问最少多重的钱币可以恰好使得钱数为S?第二行:n个整数表示钱币相应的面值,每个数范围在[1, 100];第三行:n个整数钱币相应的重量,每个数范围在[1, 10000]。8=3+2+2+1,重量=5+3+3+1=12。第一行:2个整数n,s,范围在[1 100];(如果没有方案输出-1)(看起来题目字特别少是不……
2024-05-25 15:35:59
432
原创 【题解】RGBStreet
在这种技术中,原始问题的解空间被分割为较小的子问题,然后通过解决这些子问题,并将它们的解组合起来,来构造原问题的解。今年,为了迎接亚运,广州的RGB街道的住户决定把他们的房子都刷成统一的红、绿、蓝三色之一。动态规划的关键在于:按照从小到大的次序划分阶段,每个状态只需计算一次并保存下来,这样就避免了对子问题的重复计算。第i+1行的r,g,b表示第i个房子刷成红、绿、蓝色的分别花费。定义状态转移方程:确定如何从子状态的解决方案推导出原状态的解。定义状态:确定状态的含义,即状态应该覆盖多大的问题范围。
2024-05-23 13:09:02
817
原创 【题解】NOIP2004 普及组 FBI 树
FBI树是一种二叉树1,它的结点类型也包括F结点,B结点和I结点三种。我们可以把由“0”和“1”组成的字符串分为三类:全“0”串称为B串,全“1”串称为I串,既含“0”又含“1”的串则称为F串。现在给定一个长度为2^N的“01”串,请用上述构造方法构造出一棵FBI树,并输出它的后序遍历序列。第一行是一个整数N(0<=N<=10),第二行是一个长度为2^N的“01”串。一行,这一行只包含一个字符串,即FBI树的后序遍历序列。对于40%的数据,N<=2;对于全部的数据,N<=10。
2024-05-20 08:59:31
324
2
原创 【分享】搜索用户
还有个问题,大家记得注意下用户的下划线数量,很容易忽略这一点从而找不到该用户,所以建议用户名知道后直接复制。最近有朋友问优快云上貌似不能搜索用户,问我有没有试过。记得避坑,我朋友就踩上了。
2024-05-18 22:25:37
419
原创 【题解】最小差距
有N (1 <= N <= 250)块宝物,第i块宝物的价值是v_i (1 <= V_i <= 2,000)。现在要把这N块宝物分成两堆,使得这两堆的价值的差距最小。例如有5块宝物,价值分别是: 2, 1, 8, 4, 16. 那么其中一堆是: 1+2+4+8=15,另外一堆只有价值是16的宝物,那么这两堆的差距是16-15 = 1. 这是最优方案了。第1行: 一个整数,表示分开后的两堆宝物的价值的最小差距。第2..N+1行: 每行一个整数,表示一块宝物的价值。
2024-05-18 17:04:18
230
原创 货币系统一(DP[i][j]二维)
奶牛手上有N枚硬币,第i枚硬币的面值是d[i]元。无人售货机有1000件礼物,编号从1至1000,第i件礼物需要i元,售货机不设找赎。第一行,一个整数N,1<=N<=40。第二行,N个整数,第i个整数是d[i],1<=d[i]<=100。dp[i][j]=1 (j>=a[i] &&dp[i-1][j-a[i]==1) //用第i个硬币。2.状态:dp[i][j]表示用第i个硬币组合时,能否表示面值j;dp[i][j]=dp[i-1][j] //不用第i个硬币。一行,从小到大输出不可能买得到的礼物的编号。
2024-05-18 16:10:43
1188
原创 【题解】字符传输
在网络上传输由a,b,c三种字母组成的长为n的字符串,若字符串中有两个a连续出现,则网络上不能传输,问有多少种不同的传输方式?如:aba是合法的长度为3的字符串,而baa则是非法的长度为3的字符串。一个整数,表示不同的传输方式的数量,答案%10000007。
2024-05-18 14:59:19
368
空空如也
问答帖,求解答,各位帮看一下
2024-06-23
问答帖,求解答,各位帮看一下
2024-06-23
问答帖,求解答,各位帮看一下
2024-06-22
货币系统类型问题,求解答
2024-05-25
不知道代码如何写,求解答
2024-05-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人