摘要:
题目大意:从后往前推,每次操作要枚举每种宝物,分取和不取2种情况,状态要用二进制存。正推不太好判断...于是倒推,意义就变成了:要想取得某个物品,先需要支付当前物品的代价,这样DP就没问题了。附代码:View Code /************************************************************** Problem: 1076 User: 1012haoyifan Language: C++ Result: Accepted Time:1156 ms Memory:53496 kb****************... 阅读全文
摘要:
题目大意:n个木块排成一行,有k种颜色的油漆,其中第i种颜色的油漆足够涂ci个木块。所有油漆刚好足够涂满所有木块。统计任意两个相邻木块颜色不同的着色方案。分析:一开始又给想麻烦了...Ci只有5啊...直接开数组...然后乘法原理+加法原理,f[a,b,c,d,e,x]表示数量1..5的分别有a..e个,上一次选了x就好了。代码:View Code /************************************************************** Problem: 1079 User: 1012haoyifan Language: C++ R... 阅读全文
摘要:
题目大意:有n 个整数Ai和n 个整数Bi。你需要把它们配对,即每个Ai恰好对应一 个Bp[i]。要求所有配对的整数差的绝对值之和尽量小,但不允许两个相同的数配对。分析:乍一看像是最优匹配,但仔细看的话就可以排除了。而相等不能配对条件又让人很但疼...没它的话直接排序配对就好了。 由于A、B中元素不重复,所以如果当前A、B不能配对,则调整一下, 直观的来看,只往最近的元素调整最优。引用某大牛的话:事实上,一个元素的对应元素最多被调整2次...这个可以自己找下规律...因为4个以上的元素的情况可以转化成2、3个元素,最优性可用调整法证明。 ... 阅读全文