摘要: 来呀 题意:给n杯盐水,每一杯水有a单位盐,b单位水。给你一个x和y,问有多少种方法能配成x比y的盐水。 因为n只有35,没法枚举全部情况,如果n只有一般大,那么我们可以枚举所有情况。 我们可以把n分为两部分,枚举一部分的所有情况,然后找是否能和另一部分构成解。 对于(a1,b1)和(a2,b2)这 阅读全文
posted @ 2018-05-16 22:47 shuai_hui 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 题目: 2520是最小的能被1-10中每个数字整除的正整数。 最小的能被1-20中每个数整除的正整数是多少? 分析: 解题方法 题目的实质是求几个数的最小公倍数。 任何一个正整数都可以表示成几个素数的次方的乘积 假设PnPn表示第n个素数,那么任意正整数可以通过下面的式子获得: Num=Pk11Pk 阅读全文
posted @ 2018-05-16 21:02 shuai_hui 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 飞翔 题意:给你一个含有n(n<=1000)个数的数列,问这个数列中是否存在四个不同的数a,b,c,d,使a+b+c=d;若存在则输出最大的d 思路:子集最多有1000C4*4个,时限只有一秒。折半枚举有些讲究,以前折半都是在集合上折半,这次是在等式上。将等式变化为 a + b = d – c,预先 阅读全文
posted @ 2018-05-16 20:05 shuai_hui 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 题目 题意:在一个集合中找到一个非空子集使得这个子集元素和的绝对值尽量小,和绝对值相同时保证元素个数尽量小 分析:1.二分枚举的思想,先分成两个集合; 2.枚举其中一个集合中所有的子集并且存到数组中,并排序; 3.枚举另一个集合中所有的子集并且与第一个集合中的合适子集相加(可以通过二分查找在数组中找 阅读全文
posted @ 2018-05-16 18:28 shuai_hui 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 题目 大致题意 大致题意 n表示要进行n次操作,接着给出三个字符串,表示三个人初始拥有的串。每次操作要替换字符串中的字母,询问最后在游戏中曾出现过的相同的子串谁最多。 思路 (1) 讨论最多的子串,肯定是全部转换成单个的字母是最优的,这样就把子串转换成了讨论出现过最多的字母的问题。接下来只需要模拟, 阅读全文
posted @ 2018-05-16 15:39 shuai_hui 阅读(602) 评论(0) 推荐(0) 编辑
摘要: Description 求最长上升子序列。 求最长上升子序列。 Input 单测试用例。 第一行是一个正整数n,0 < n ≤ 3000 第二行是n个非负整数。 单测试用例。 第一行是一个正整数n,0 < n ≤ 3000 第二行是n个非负整数。 Output 两行结果。 第一行是最长上升子序列的长 阅读全文
posted @ 2018-05-15 21:42 shuai_hui 阅读(136) 评论(0) 推荐(0) 编辑
摘要: Description 给出一个m×n的矩阵,请输出它的最大子矩阵和。 给出一个m×n的矩阵,请输出它的最大子矩阵和。 Input 多测试用例,每个测试用例: 第一行是两个正整数m和n,表示该矩阵的行数和列数。1 < m, n < 400 接下来m行,每行n个整数,空格分隔。 多测试用例,每个测试用 阅读全文
posted @ 2018-05-15 21:40 shuai_hui 阅读(1308) 评论(0) 推荐(0) 编辑
摘要: Description 给出n个整数序列(可能为负数)组成的序列a1, a2, ..., an,求该序列形如的子段和的最大值。当所有整数均为负数时,定义最大子段和为0。 给出n个整数序列(可能为负数)组成的序列a1, a2, ..., an,求该序列形如的子段和的最大值。当所有整数均为负数时,定义最 阅读全文
posted @ 2018-05-15 21:37 shuai_hui 阅读(179) 评论(0) 推荐(0) 编辑
摘要: Description 背包体积为C,给出N个物品,每个物品占用体积为Vi,价值为Wi,每个物品要么至多取1件,要么至多取Mi件(Mi > 1),要么数量无限,在所装物品总体积不超过C的前提下所装物品的价值的和的最大值是多少? 背包体积为C,给出N个物品,每个物品占用体积为Vi,价值为Wi,每个物品 阅读全文
posted @ 2018-05-15 21:34 shuai_hui 阅读(151) 评论(0) 推荐(0) 编辑
摘要: (1)二进制的优化 这是一个多重背包的模板,也是十分好用的一种模板,因为这个比直接拆除01 背包来做 要省些时间。这是为啥呢,首先先由我讲一下为什么能换成01 背包吧。 举个例子。假如给了我们 价值为 2,但是数量却是10 的物品,我们应该把10给拆开,要知道二进制可是能够表示任何数的,所以10 就 阅读全文
posted @ 2018-05-15 21:32 shuai_hui 阅读(1979) 评论(0) 推荐(0) 编辑