这名用户暂未设置签名。
追踪最近的用户名外显变动记录。
最近的文章、讨论、云剪贴板与社区记录
一道不错的模拟题,出题人处在有良心和没良心之间,各个条件之间的耦合程度把握的刚刚好,顺着思路就能做出来,不会说做到一半发现条件没分好。 这里我使用一个双向链表存储,在数组两端设置头尾节点,方便插入和循环移位,并设置两个答案,分别是顺序答案和逆序答案。 ```cpp #include using namespace st…
我采用“分别求得每一个数与数组所有数异或的总和进行比较”来求得最终答案。当然,如果将所有数遍历一遍肯定会超时,所以我们可以换一种方式求得异或和。 首先 $int$ 类型转换为二进制有 $32$ 位,我统计这个数组中每一个数的每个二进制位出现一的次数,根据异或原则,两个数互相异或,二进制位同为一或者同为零的情况下,这个二…
在讨论《如果你2#RE》回复:
因为ij可以不重复,就有200000个不重复的数需要离散化
因为放不了图片,所以代码注释我会写的详细一些。 用桶排序也能做,但是代码会繁琐一些,而且时间卡的很极限,所以我还是选择了字符串哈希。 思路还是很简单的,就是模拟一段 $X$ 字符串的增加过程,找到规律后跳过后面的模拟过程(全过程模拟一遍正常会超时),然后直接得到答案。 这题的难点在于字符串的哈希处理和规律的查找,哈希处…
在讨论《#3例子求解释》回复:
我以为第一轮比赛的对阵安排是数据的初始顺序,“除了首轮以外,其它轮比赛的安排均不能事先确定”,搞得我以为首轮不需要排序。
在讨论《#3例子求解释》回复:
@[Lulia114514](luogu://user/717724)谢谢哥们,这题目太差了
这篇题解是打算给我自己之后复习用的,因为本人目前能力不足,无法证明为什么这样做可以过,纯当多一种想法,理清一下我的思考路线。 由题目可知,答案只受两种因素干扰,分别是路程和 $A$ 值。知道了这两个的数值,那么第一个答案就很好求,路程乘二加上 $A$ 值的最大值。第二个答案就开始受路程影响了,不能再像第一个答案一样计算…
经过一轮后,为啥第二名是12号,明明是5号 ```cpp 10 1 2 1 3 0 0 2 3 0 2 3 0 2 3 1 0 1 1 2 0 1 0 2 40 12 35 18 16 26 22 4 14 34 17 28 3 11 38 27 36 19 39 ```
在文章《题解:CF2044G2 Medium Demon Problem (hard version)》发表评论:
玩具的分发过程类似于从叶结点一直加到根结点
**拓扑排序加一点点树结构。** 首先是思路。 事实上,无论这个环到底是什么样子、到底有几个,想要有解,环上所有结点的玩具数就必须相等。也就是说,从出题数据确定的那一刻开始,环的结局就已经确定了。所以我们只需要考虑环外的结点即可。 可以通过拓扑排序找到所有的环外结点。可以确定的是,因为它们在环外,它们肯定会呈现出一个或…
经典的拓扑排序。 将蜘蛛看作结点,给予玩具看作有向边。记录每个结点的入度,将入度为零的结点入队,并除去影响,将影响后入度为零的结点继续入队,直到队列为空。记录一共清空了多少次队列,就是答案。 ```cpp #include #include #include using namespace std; int T, N,…
在讨论《瞧瞧我发现了什么宝贝~》回复:
@[AIregister](luogu://user/947200)别呀QAQ
```cpp #include using namespace std; int N,sum=0; void dfs(int n) { if(n==0)return; sum+=2; dfs(n-1); dfs(n-1); } int main() { cin>>N; dfs(N); cout<<sum; return…
在讨论《询问一个记忆化搜索的问题》回复:
@[wo488](luogu://user/1198506)
在讨论《询问一个记忆化搜索的问题》回复:
既然可以同时工作,那么只需要找到耗费时间最长的那个头任务,当这个最长的任务都完成了,其他任务自然就完成了,最长耗时就要取max
在讨论《询问一个记忆化搜索的问题》回复:
遍历,每个编号为 i 的任务都当一次头(就是设定目标,完成 i 任务为止,其他任务不管),要想完成编号为 i 的任务,就必须要把 i 的支线任务做完,根据题意,支线任务总耗时就是耗时最长的那个支线,那么我们只需要dfs出最长的那条支线,就是这个 i 任务的支线任务时长,加上自身耗时就是总任务时长。
通过[P1216](https://www.luogu.com.cn/problem/P1216)的数据结构加暴力递归每个位置是A是B就能AC,给的数据太弱了。 ~~本来还想动态规划优化一下的,懒,嘿嘿~~
在讨论《呜呜呜呜呜,50的魔咒逃不出了,救救我》回复:
```cpp #include #include using namespace std; int N, t; int main() { cin >> N; for (int i = 0, j = 0; i > t; if (t) { if (j != 0 && t > 0)cout << '+'; if (t ==…
在讨论《求解释》回复:
谢谢!我原以为目的地和出发点只能一样