因为今天在搞一些奇怪的东西,所以就先做这道比较简单的dp。
题目大意:给你一个数列a[i],你要从中取出n个线段,每个线段里必须包含某个数字的全部集合,每个线段的贡献是线段中所有数字种类的异或和。
那么首先可以被选择的线段是范围是有限的,再加上这个道题的数据范围只有5000,所以可以直接暴力全部搞出来,每一段的贡献也可以暴力搞出来。
然后从头开始扫一遍,对于每个线段取与不取然后就搞出来了。
需要注意的就是存在长度为1的线段
代码太丑就不贴了。
本文介绍了一个简单的动态规划问题,目标是从一个数列中选取n个线段,使得每个线段内的数字种类异或和最大。文章给出了直接暴力解决的方法,并讨论了如何遍历所有可能的线段组合。
因为今天在搞一些奇怪的东西,所以就先做这道比较简单的dp。
题目大意:给你一个数列a[i],你要从中取出n个线段,每个线段里必须包含某个数字的全部集合,每个线段的贡献是线段中所有数字种类的异或和。
那么首先可以被选择的线段是范围是有限的,再加上这个道题的数据范围只有5000,所以可以直接暴力全部搞出来,每一段的贡献也可以暴力搞出来。
然后从头开始扫一遍,对于每个线段取与不取然后就搞出来了。
需要注意的就是存在长度为1的线段
代码太丑就不贴了。
392

被折叠的 条评论
为什么被折叠?