s

sunfish

#852650

这名用户暂未设置签名。

发帖
7
文章
0
互动
15
陶片
0
获赞
0
收藏
0

历史用户名外显

追踪最近的用户名外显变动记录。

  1. sunfish
    最早追溯到 2024/05/02最后捕获于 2024/05/02
  2. sunfish
    最早追溯到 2023/10/23最后捕获于 2023/10/23
  3. sunfish
    最早追溯到 2023/10/22最后捕获于 2023/10/22

时间线

最近的文章、讨论、云剪贴板与社区记录

  1. 发起讨论
    tarjan写法请注意

    并查集状压后fa[i]的值未必是i的直系父节点,请额外开一个数组记录直系父亲!

    回复 0参与人数 1
  2. 回复讨论

    在讨论wa求助,实在找不出错误,以及为什么所有题解都默认1为根节点回复:

    请无视 ```cpp cout<<i<<endl; ``` ,这是检查的时候加的,即使去掉也会wa。
  3. 发起讨论
    wa求助,实在找不出错误,以及为什么所有题解都默认1为根节点

    tarjan lca,搓了好多样例都没看出来错误,调了三个小时了 题解全部默认1为根节点,但题面似乎并没有提及? 希望佬能提供个hack或者帮我看一下哪里有错误,跪谢 ```cpp #include #include #include #include #include #include #include #inclu…

    回复 1参与人数 1
  4. 回复讨论
  5. 回复讨论

    在讨论如果这个题目改成求区间内有多少个下标为1的数字回复:

    @[LgxTpre](/user/66709) 那估计是不行了,还得老老实实搓线段树(
  6. 回复讨论

    在讨论如果这个题目改成求区间内有多少个下标为1的数字回复:

    @[LgxTpre](/user/66709) 但是这样的话不能进行异或修改吧... 我的思路是差分,树状数组维护异或,写出来大致是这个样子: ```cpp int sum(int x) { int ret=0,i,j; for(i=x;i>0;i-=(i&-i)) { ret^=c[i]; } return ret;…
  7. 回复讨论

    在讨论如果这个题目改成求区间内有多少个下标为1的数字回复:

    @[LgxTpre](/user/66709) 对不起,表述有误,应当是多少个数字为1
  8. 发起讨论
    如果这个题目改成求区间内有多少个下标为1的数字

    想问一下,如果这个题目改成求区间内有多少个下标为1的数字,除了暴力之外还有更好的方法吗? 线段树确实可以比较容易的解决,想问问树状数组能做吗?

    回复 6参与人数 6
  9. 发起讨论
    本题几个易错点,警示后人

    不要用dfs!dfs并不是本题正解! 如果你用的是dfs: 1.关于bool数组vis的标记:一定注意要在return判断后再进行标记,否则会出现 **本来不应该标记,但是标记上了** 的结果 2.不要忘记vis数组回溯!在左右递归后将vis还原; 3.本题dfs会出现#1被卡时间,可以用玄学卡过去(创建一个全局的cn…

    回复 1参与人数 1
  10. 回复讨论

    在讨论站外题求助,可能是位运算?回复:

    @[聊机](/user/290959) 感谢,这才是正解
  11. 回复讨论

    在讨论站外题求助,可能是位运算?回复:

    @[棕名](/user/141675) 感谢,太天才了
  12. 发起讨论
    站外题求助,可能是位运算?

    今天遇到了这样一道题: 将1—n的n个数随机删去两个数,再乱序排列,求被删去的数是什么, 能否使用O(1)的空间复杂度和O(n)的时间复杂度解决这个问题? 初步想到的方法是位运算: (1)先记录这组数的总和,用1—n的总和减去这组数的总和,得到sum; (2)1—n的异或与这组数的异或进行异或,得到丢失的两个数字的异或…

    回复 4参与人数 4
  13. 回复讨论

    在讨论看见佬们的题解,斗胆提出小疑惑回复:

    @[wula_miao](/user/565985) 感谢
  14. 回复讨论

    在讨论看见佬们的题解,斗胆提出小疑惑回复:

    例如1000x^3+x^2+x+1和x^3+x^2+x+1005,虽然x=1第一个函数值要小,但x=2明显第二个函数值更小,按照这个方法生成直接就取第一个了吧
  15. 发起讨论
    看见佬们的题解,斗胆提出小疑惑

    有佬在题解里说建一个小根堆之后,找到堆顶所对应的函数,x+1后把对应函数生成值放进去,姑且感觉有些问题: 因为这个x+1后生成的值并不一定是这些函数在这一轮能生成的最小值,而有些佬似乎直接将其当成了最小值使用并且ac,是因为这道题的数据比较水吗?还是说在循环终止的条件上做了文章?

    回复 3参与人数 3
  16. 回复讨论

    在讨论听取 WA 声一片回复:

    不太会用洛谷的格式,粘贴上的代码怪怪的。。。将就看吧@[Dream_Crosyia](/user/663435)
  17. 回复讨论

    在讨论听取 WA 声一片回复:

    先入后出,反推肯定是不对的。。。 需要先加一个popeed数组记录可能的出栈队列,把 ``` for(int i=1;i >m; pushed.push(m); while(pushed.top()==pusheed[a]){ a++; pushed.pop(); if(pushed.empty()==true) br…
  18. 回复讨论

    在讨论听取 WA 声一片回复:

    呃,你把入栈出栈搞反了吧。。
  19. 发起讨论
    关于本题可能踩到的雷(如果你wa到不能自已就进来看看吧)

    (差点wa到玉玉了) 1.因为n的范围是小于等于1e5,所以请开全局数组(不要偷懒想放在主函数里让它自动更新) (不过不更新好像也没啥问题) 2.认真读题:注意题面说的是**pop是可能的出栈序列**,并非一定要全部入栈才出栈!样例没有很好的表现出这一点... 那么,有多少可能呢?入一个就出一个,入两个出一个然后再出一…

    回复 5参与人数 5
  20. 回复讨论
  21. 回复讨论

    在讨论求助,二分70分回复:

    @[sunfish](/user/852650) 突然想通了,是因为now-1:当返回first的时候b[now-1]成了b[0],所以才会出现问题! 上界应该是无需判断的
  22. 回复讨论

    在讨论求助,二分70分回复:

    @[A350_ti](/user/169764) 请问为什么要判断边界呢? 如果是学校分都小于第i位学生的分,lower(first,last,b[i])此时会返回last,a[last]=0,a[last-1]与b[i]的差绝对值一定小于a[last]与b[i]差的绝对值,而last-1值就是我们所需要的,有什么判断…
已经到最早的记录