当前位置: 首页> 八字命理> 正文

ZJYYC 黄月英奇术秘法 ZJYYC1301

题目链接:ZJYYC Online Judge (nwanna.cn)

题目描述:

  《奇门遁甲》,听着是不是有点神秘?这可是中国古代的术数宝典,奇门、六壬、太乙三大秘术之首。据说,诸葛亮的老婆黄月英就精通这玩意儿。她现在给你出了个难题,想考考你。

ZJYYC 黄月英奇术秘法 ZJYYC1301

  黄月英摆了两排木牌,每块牌上都有个0到9之间的数字。她要你从这两排牌里挑出K张,拼成一个尽可能大的数字,还得保持这些牌原来的顺序。你能搞定吗?要是能,说不定你也能成个奇门遁甲的高手哦!

输入描述:

  来,咱们看看具体怎么操作。每组测试数据先是两个正整数n和m(1 ≤ n, m ≤ 1000),分别代表两排木牌的数量。接着是两行,每行n个和m个整数,表示每块木牌上的数字(都是0到9)。最后是一个正整数K(1 ≤ K ≤ n + m),告诉你得挑出多少张牌。

输出描述:

  简单明了,每组测试数据你就输出一个能拼出的最大数字。

思路:

  这题咋办呢?先试试枚举第一排和第二排各取多少张牌。然后用单调栈的思路,找出这些牌能组成的最大数字。再通过插空法,把这些最大数字合并起来,最后从这些组合里挑个最大的。

  小贴士:单调栈是个啥?简单说,就是保持栈里元素单调递增或递减的一种数据结构,特别适合找最大值或最小值。

  思考一下:如果你是黄月英,你会怎么出题考别人?你觉得这题难在哪?欢迎在评论区分享你的想法!

  小细节:别忘了,保持木牌的相对顺序很重要哦!别光顾着拼大数,顺序错了可不行。

  数据小科普:你知道吗?在计算机科学里,这种问题属于组合优化的范畴,类似的算法在好多实际应用中都有大用呢!

  小瑕疵:哎,单调栈这玩意儿,说起来简单,真要用好还得花点心思。

  希望这改写得够接地气,读起来不那么生硬了吧?有啥不懂的,咱们评论区见!

阅读全文