首页 > 牛牛想起飞
头像 wqy03
发表于 2021-01-01 08:11:09
很容易发现是个dp,设计状态,dp[i][j]表示前i个数和为j的情况存不存在。存在就是1,不存在就是0,一开始再想能不能压成一维,其实是不可以的,因为最后要求的是n个数的和,如果压成一维就没办法确保是n个数的和了。 #include<bits/stdc++.h> using names 展开全文
头像 女王你好痞
发表于 2021-01-01 14:45:42
a数组的元素无论加减b元素,a的原数不变,先对a数组求和 再从b中挑取0-n个元素即可。 为什么开205的数组?因为b中几个数的算术和可能为负,即所有算术和在(-100,100)范围。 #include <bits stdc++.h> using namespace std; typed 展开全文
头像 呃呃。
发表于 2021-01-01 17:09:40
牛牛想起飞用bitset来记录可以得到的数,然后求得值为1的最高位就是答案 #include <bits/stdc++.h> using namespace std; #define Happy return #define New_Year 0 const int N = 1e5+5; 展开全文

等你来战

查看全部