题目大意:给定k个数,n个操作,每个操作有三种类型:
a[i]=b
a[i]+=b
a[i]*=b
现在你可以进行最多m次操作,每个操作最多进行一次,要求操作结束后乘积最大
按使用的顺序输出每个操作的编号
乱七八糟地写了一发D……结果最后没调出来QAQ B题ye...
分类:
其他好文 时间:
2015-03-06 17:14:28
阅读次数:
194
题目描述 Description
今年是国际数学联盟确定的“2000——世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年。在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好朋友XZ也有幸得以参加。活动中,主持人给所有参加活动的选手出了这样一道题目:
设有一个长度为N的数字串,要求选手使用K个乘号将它分成K+1个部分,找出一种分法,使得这K+1个部分...
分类:
其他好文 时间:
2015-02-27 15:13:44
阅读次数:
135
划分DP第三题,wikioi 1040,送我n个WA~~~题目大意:
这道题题述有着UVA的特色,够废话,其实就是读入一个长度最大200的字符串(不知道为何要分行输入,完全没有意义啊),分成m部分,使各部分单词量加起来最大
解题思路:
这题划分的部分跟乘积最大那题其实很像,状态转移方程也很容易想到:
dp[i][k]=max(dp[i][k],dp[j][k-1]+scnt[j+1][i])...
分类:
其他好文 时间:
2015-02-22 14:34:57
阅读次数:
179
划分型DP,是解决跟划分有关的题目的一种DP思路,个人觉得,是目前接触的DP类型中最难的一种,因为感觉思路并不确定,不过正是不确定,才可以体会到算法的精妙之处。题目链接:wikioi_1017
要求是将一个n位的数分成m部分,使各部分的乘积最大。解题的思路基于一个事实:当前的数可以分成m-1部分,那么加多几位分成m部分不是可以从原来的推出来。从这句差不多是废话的话中我们就可以推出状态转移方程:...
分类:
其他好文 时间:
2015-02-21 16:38:54
阅读次数:
3407
划分型DP第二题,wikioi 1039,与第一题乘积最大思路有所不同。题目要求:
将一个数划分成几部分,问一共有多少种分法。
真 · 解题思路:
其实跟小学奥赛的一些题有点像,我们先来看一个例子:
7 分成 3 部分,有四种办法:
1,1,5;1,2,4;1,3,3;2,2,3 。
我们人脑来考虑问题的时候是怎么想的呢?显然,从1开始,1是第1部分,然后剩下6分成2部分,我们依然是从1...
分类:
其他好文 时间:
2015-02-21 16:37:05
阅读次数:
189
算法提高 最大乘积
时间限制:1.0s 内存限制:512.0MB
问题描述
对于n个数,从中取出m个数,如何取使得这m个数的乘积最大呢?
输入格式
第一行一个数表示数据组数
每组输入数据共2行:
第1行给出总共的数字的个数n和要取的数的个数m,1
第2行依次给出这n个数,其中每个数字的范围满足:a[i]的绝对值...
分类:
编程语言 时间:
2015-02-16 16:57:22
阅读次数:
202
题目大意:给定一个数n,要求将n划分成一些正整数的和,使这些正整数的乘积最大
结论:
如果n是3的倍数 那么将n划分成n/3个3是最优的
如果n是3的倍数+1 那么将n划分成(n-4)/3个3和两个2是最优的
如果n是3的倍数+2 那么将n划分成(n-2)/3个3和1个2是最优的
证明是有的
考虑不是划分成整数,而是划分成任意实数
设我们将n划分成了x个正实数之和
易知当这x个数相...
分类:
其他好文 时间:
2015-02-07 13:11:35
阅读次数:
148
题目描述
给N个数字和正整数K,问用K个乘号和N个数字组成表达式乘积最大是多少
样例输入
4 2
1231
样例输出
62
解题思路
经人提醒发现是道DP。。。dp[i][j]表示前i个数字用j个乘号得到的最大值
状态转移方程为 dp[i][j] = max(dp[p][j-1]*ans(p,i-1)) (ans(a,b)为数组s[a]到s[b]组成的数)(1...
分类:
其他好文 时间:
2015-02-05 23:25:30
阅读次数:
182
最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们的公倍数,当中一个最小的公倍数是他们的最小公倍数,相同地,若干个整数公有的倍数中最小的正整数称为它们的最小公倍数,维基百科:定义点击打开链接求最小公倍数算法:最小公倍数=两整数的乘积÷最大公约数求最大公约数算法:(1)辗转相除法有两整数a和b:...
分类:
编程语言 时间:
2015-01-24 22:35:18
阅读次数:
113
算法提高 最大乘积
时间限制:1.0s 内存限制:512.0MB
问题描述
对于n个数,从中取出m个数,如何取使得这m个数的乘积最大呢?
输入格式
第一行一个数表示数据组数
每组输入数据共2行:
第1行给出总共的数字的个数n和要取的数的个数m,1
第2行依次给出这n个数,其中每个数字的范围满足:a[i]的绝对值...
分类:
编程语言 时间:
2015-01-19 17:20:42
阅读次数:
356