卢俊达

这里是个人技术小站,用于学习与记录,欢迎各位光临。

前言


开始以为是搜索,按照不同物品不同数量枚举,超时。又在这基础上剪枝,考虑了币值之间的倍数关系,想把一个货币体系化简为货币值之间互质的情形,但写了一下感觉太复杂了。又按照钱数递减搜索,每次减去某一种币值并去掉重复情况…搞了n久还是超时,唉~。最后感觉可能是动态规划,但想不出个所以然来。无奈只好求助于nocow,发现这货竟然是背包!

没往背包上想可能是因为这个背包问题没用到物品价值这一属性吧,换句话说这个背包并不是要求出某一条件下的最大价值。

题目大意


有v种币值和一个钱数n,问用给定币值可以有多少种方案构成n。

Read More…

描述:

为了降低出现暴动及逃跑事件的风险,两个相同容量的临近监狱的管理层决定重新安排他们的囚犯。他们想用一个监狱里一半的囚犯去交换另一个监狱里一半的囚犯。然而,从囚犯们犯罪史的存档信息可知某些囚犯成对被关在同一座监狱里时会很危险,这也是现今他们被分开的原因,即对于每对这样的囚犯,一名在第一个监狱服刑,另一名在第二座监狱服刑。管理层认同将那些囚犯保持分开的重要性,但这也使得他们的新安排任务有些棘手。事实上,他们很快就了解到有时这个互换一半囚犯的意愿是不可能达成的。每当这种情况下,他们不得不满足于交换尽可能接近一半数量的囚犯。

Read More…

题目大意:

给出一个整数n,求共有多少种方法能将[1,n]分成两个元素和相等的部分。

Read More…

题目大意:

给出一个字符串(可能有多行),在只考虑字母的情况下(忽略大小写)找出一个最长的回文序列。

Read More…