- 博客(21)
- 收藏
- 关注
原创 第二期第6周周报
搜索题,直接用next_permutation出答案太慢所以需要手写搜索算法。分治递归函数算法可以把结果当作参数来传递。可以先从1开始然后枚举下一个点。之后根据vis的情况枚举没被访问最小的点,然后再枚举下一个配对点的可能情况,再dfs。这里保证每次配对的点第一个点都比下一次配对的点第一个点的数值小,同时第一个点都比第二个点小,这样就不会出现迷乱的现象。int ans, n;void dfs(int step, int res) // step为当前已经匹配的对数,res是当前的异或和。
2023-05-13 17:13:04
143
原创 第二期4周周报
本来以为要用双指针的策略求解,实则不然,这题就是之前做过某一题的弱化版,map存放每个数的个数,然后从1到最大值一直枚举B的情况,每次都让ans+=map[i]*map[i+c]就可以了。这题就比较难了,主要是对于排列组合问题的求解,但是可惜的是数据太大了,除法操作的取模是相当难的。这里利用求幂的方法来求逆元(离散数学没好好学的下场),逆元的求解方法为本元的MOD-2次方,至于原理我就不明白了。然后在剩下n-(i-1)*k个未被连续的0占满的位置中选择i个位置放置1,剩下的位置放置0即可。
2023-05-13 14:59:55
266
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人