ザコザコ
追踪最近的用户名外显变动记录。
最近的文章、讨论、云剪贴板与社区记录
在讨论《CF神秘特性》回复:
是不是由于 rating 回滚
在讨论《有没有dev.c++正规的的下载网址》回复:
直接从 `pc.qq.com` 搜就行了。这个网址好记,并且由于 Dev-C++ 基本不更新了,没有版本问题。
在讨论《关于 ABC G(玄关)》回复:
可以去学习 二分图最大独立集构造方案
在讨论《警钟砸烂》回复:
也可以直接 `(31 - __builtin_clz(len))`。
在讨论《求大佬告诉原理》回复:
赋值时的等号可以省略
在讨论《求大佬告诉原理》回复:
比如说: ```cpp int a[5] = {1, 2, 3}; // a = [1, 2, 3, 0, 0] int a[2][2] = {1, 2, 3}; // a = [[1, 2], [3, 0]] ```
在讨论《求大佬告诉原理》回复:
因为你只把 `m[0][0][0]` 初始化成了 1。 要全部变成 1,只能逐个赋值。
它们到底哪个性能更优? AI 说 sort 比 stable_sort 优很多,但是我也见过很多 卡常时 sort 过不去但是 stable_sort 能过的例子。 求解答。 以下是 AI 的回答: 好的,这是一个非常经典的 C++ 面试题和实际开发中的性能权衡问题。 简单来说,核心区别在于:std::sort 追求极…
```cpp // #define IO_FILE_NAME "" // #define LOCAL_FILE_IO #define MANY_TESTS 1 #ifdef LOCAL #include "all.hh" #else #include #define debug(...) (void)(89'117'1…
在讨论《求优化常数》回复:
@[潘德理2010](luogu://user/572133) 缓存问题。最好先遍历高维,再遍历低维。 比如有二维数组 $A$,如果 for i, for j, 访问 $A_{i, j}$,就比 for i, for j, 访问 $A_{j, i}$ 快得多。 所以矩阵乘法的循环把 j 的一维放最后面会快不少。
在讨论《求优化常数》回复:
矩阵乘法改成先枚举 $l$,最慢点不超过 1s。 [record](https://www.luogu.com.cn/record/258383998)
在讨论《进食后人如果你LCA用倍增,用前缀和》回复:
实际上只有前两行有用。
在讨论《疑问+玄关+进食后入(为什么改一下就对了)》回复:
应该是因为上面的代码没有考虑传送门相邻。 ``` 1 4 =AA@ ``` 考虑这种情况: 你取出了队首。这是一个传送门的终点。现在你要用它去更新其他点。然后你枚举相邻的点,枚举到了传送门起点,此时你的代码中: ```cpp else if (a[nx][ny] >= 'A' && a[nx][ny] <= 'Z')…
答案为 $2$ 的 border 长度 $\ge \sqrt{N}$ 时,它的出现次数最多是 $\lfloor \sqrt{N} \rfloor + 1$ 而不是 $\lfloor \sqrt{r-l+1} \rfloor + 1$。
在多次 `split` 时,都要从大到小。所以在复制范围的时候需要判一下。 ```cpp Ptr x1, y1, x2, y2; if (l1 #include #include #include #include #include #include #include #include #include #includ…
在讨论《我该怎么办!T_T》回复:
可以在保证文化课的情况下上课看《算法竞赛》白皮书,实测有效。
当然我不是专业的,下面的内容**不保证一定有道理**,仅供参考。 首先可以尝试调整数组的维度,把循环中不变的放在前面。 接下来,如果前面的维度不变了(循环中每次都不变,或者多次访问中不变),可以用指针存下来,以后访问指针。我就用这个方法在 UOJ 上卡过了。 举几个例子(`ui` 为 `unsigned int`。不必…
在讨论《线段树70分剩下几个点TLE解决方案》回复:
考虑优化 `cin`。 ```cpp std::cin.tie(nullptr)->sync_with_stdio(false); ```
```cpp #ifdef LOCAL #include "all.hh" #else #include #define debug(...) (void)('y' + 'u' + 'z' + 'u') #define debug_if(...) (void)('y' + 'u' + 'z' + 'u') #undef…
在讨论《询问 UB 时的处理方式》回复:
但我还是不明白为什么这样做。
在讨论《询问 UB 时的处理方式》回复:
通过题解代码,得到了应先执行左边。此贴大概结。
在讨论《询问 UB 时的处理方式》回复:
@[Infter](luogu://user/386547) 那么在本题的条件下应该如何执行。(不是实际情况下)
通过套取数据,在测试点 5 看到了如下代码: ```cpp a[b = 1] = b = 2; ``` 请问该操作完后 $b$ 等于多少。 首先根据连续赋值,得到应为 `a[b=1]=(b=2)`。 题目中说 `之前对 c 的赋值将会反映到之后对 c 的引用上`。那么这种情况,赋值表达式两侧同时对变量进行修改,则应先执…
```cpp #ifdef LOCAL #include "all.hh" #else #include #define ldebug(...) (void)(__VA_ARGS__) #define lassert(...) (void)(__VA_ARGS__) #endif #define FOR(i, a, b…
在讨论《询问题意问题》回复:
所以 1. 是说 如果 A 对 B 使用无懈可击献殷勤,C 对 A 的无懈可击使用无懈可击,就是说 C 使用无懈可击抵消了 A 的献殷勤,所以对 A 表敌意吗。
在讨论《询问题意问题》回复:
@[xxr___](luogu://user/929151) Tang