2 qq 35241837 qq_35241837 于 2016.09.12 21:29 提问

一道算法问题,有没有比较好的解决方法?

某企业有20000名普通员工,其计薪方式为50N+K的三次方+2*(K的平方)+1000K+100,其中N为工作的月数,取值范围为[1,36],K为员工等级,取值范围为[1,3],N,K均为整数。试设计一种算法尽可能地缩短全部员工工资的计算时间。

1个回答

qq_29594393
qq_29594393   Ds   Rxr 2016.09.12 22:01

想出一个简单方法,你可以考虑一下,定义一个数组arr[N][K],用来存储所有的员工的可能的工资,
也就是先算出108种工资的情况,存在二维数组中,
接下来如果某个员工要算工资,直接更具等级和工作的月数,直接在数组相应的取值就好
而不用计算20000次

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
算法:贪心算法
大部分转载自:https://blog.csdn.net/qq_32400847/article/details/51336300 贪心算法的定义: 贪心算法是指在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,只做出在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会...
【经典算法】:爱因斯坦台阶问题
爱因斯坦台阶问题爱因斯坦曾经提出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩下1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩下4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。请问该阶梯至少有多少阶。解题思路不是很简单吗?就是找一个i满足上述规则即可,从小的开始找呗,找到第一个最小的输出就完事了 =_=代码//爱因斯坦台阶问题 #include <iostrea
汽水瓶问题
汽水瓶问题–华为OJ题目题目 描写叙述: 有这样一道智力题:“某商店规定:三个空汽水瓶能够换一瓶汽水。 小张手上有十个空汽水瓶,她最多能够换多少瓶汽水喝?”答案是5瓶,方法例如以下:先用9个空瓶子换3瓶汽水。喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。 然后你让老板先借给你一瓶汽水,喝掉这瓶满的。喝完以后用3个空瓶子换一瓶满的还给老板。 假设小张手
一道关于动态归划的算法题
【说某明餐】厅供应各种标准的营养套餐。假,设将菜解单答上填共入有答题纸的对应栏内。 n项食物m1,m2,…,mn食物,每项mi的营养价值为vi,价格为pi,其中i=1,2,…,n人常需要一个算法来求解总不超过,套餐中每项食物至多出现一次。客人常需要一个算法来求解总低格不超过M的营养最大的套餐。 伪代码中的主要变量说明如下: n: 总的食物项数; v: 营养价值数组,下标从1到n,对应第1到第n项食物的营养价值; p: 价格数组,下标从1到n,对应第1到第n项食物的价格; M:总价格标准,即套餐的价格不超过M; x: 解向量(数组),下标从1到n,其元素值为0或1,其中元素值为0表示对应的食物不出现在套餐中,元素值为1表示对应的食物出现在套餐中; nv:n+1行M+1列的二维数组,其中行和列的下标均从0开始,nv[i][j]表示由前i项食物组合且价格不超过 j 的套餐的最大营养价值。问题最终要求的套餐的最大营养价值为nv[n][M]。
每日一道算法题——1
求字符串字串的长度。
动态规划——如何分析一道动态规划的题
动态规划与其他的算法不一样,动态规划是没有一个固定的模板的,它只是一种思想,并不是一种特殊算法。 那么,动态规划既然没有一个固定的模板,那怎么来分析它呢?或者说,做出来了怎么写题解呢?这里给大家介绍一种分析动态规划的方法: 1:写出DP状态的表达。也就是f[XX]等于XX。 2:写出DP的转移方程。也就是f[XX] = min(f[XX],f[XX]) 3:写出状态的数
用C程序来解决“百鸡问题”
中国古代算书《张丘建算经》中有一道著名的百鸡问题:公鸡每只值5 文钱,母鸡每只值3 文钱,而3 只小鸡值1 文钱。现在用100 文钱买100 只鸡,问:这100 只鸡中,公鸡、母鸡和小鸡各有多少只?void main (){int cocks=0,hens,chicks; while(cocks {hens=0; hens++;   while(hens    {chi
dancing links X的相关资料
是解决数独问题的一种比较好的算法。。NOIP2009就考察到了这种算法。。比较好!
每天一道算法题——
题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 分析: 使用两个队列一个存放节点,一个存放值。先将根节点加入到队列中,然后遍历队列中的元素,遍历过程中,访问该元素的左右节点,再将左右子节
一道九宫格算法面试题
前言一前公司同事把此题放在群里,求大家帮忙解答。因为没有其他条件和说明。我的第一印象就是:方格里应该填1~9整数中剩下的1~8,且不能重复。于是拿着笔进行了一通计算。。。后来发现无解。接着,就想里面的算术运算符(+、-、×、÷),不按优先级,直接按先后顺序来计算,如:a - b × c,当做(a - b) × c 来运算。最后得到如下结果:5 8 9 7 6 4 3 2 1为