- 博客(3)
- 收藏
- 关注
原创 一些做过的题目
题意:给定一个序列p,由n个数组成,给定一个整数a一个整数b。要你将这个序列分成两个集合,使得对于每个处于集合a的元素p,a - p也在集合a中,对于每个处于集合b的元素p, b - p也在集合b中,如果可以做到这件事情,输出YES,并且输出每个数处于的集合,属于集合a输出0, 属于集合b输出1。需要特别注意的一个点是,我们一定要在遍历的过程当中更新s[i]出现的个数,因为当枚举到i的时候,我们只考虑前i个数的区间中合法的值,而如果预处理s{i]出现的个数的话,就会把后面的值也加进来,那答案就会多算了。
2023-08-24 20:32:36
88
1
原创 乱七八糟的总结(2)
学了个找树的重心,枚举所有节点,dfs找每个子树的节点数,然后找到使得最大值最小的那个节点就行了,学这个的时候还解决了我的lambda表达式不能写递归的问题,主要是出在我定义vector数组的时候用的是vector e[n + 1], 然后就会报错,改成vector e(n + 1)就好了,我也不知道为什么,反正就是好了, 贴一下用lambda写的代码。在图论的题目中,经常会遇到让我们找到一条合法的路径,那这个时候,我们可以注意他的限制条件,例如。
2023-08-07 20:23:22
67
原创 一些乱七八糟的思路和语法的汇总
他可以做一个什么样的事情呢,可以从begin开始,从0开始依次递增赋值一个数组,也就是说这个函数执行完之后,p数组会变成0, 1, 2, 3,4, ... n - 1。那么如果遇到尾数为1的时候,必定执行的是操作1,尾数为偶数的时候,必定执行的是x2,如果不是1又不是偶数,那么直接就完成不了,输出no。因为a[i]和a[i+1]已经交换了,对pos数组来说, a[i + 1]才是之前的a[i], 而a[i]才是之前的a[i+1]那么pos[a[i]] = p, pos[a[i + 1]] = p + 1;
2023-07-31 20:12:25
128
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅