摘要:
A. tothecrazyones 先考虑 $a_i < x + y$ 的,那么两个人必然至多只有一个人能取同一堆石头,那么对于先手来说,取的越多越好,如果先手把能取的都取了,后手还能取,那么后手必胜,否则先手必胜 考虑一般情况,发现如果先手/后手希望保持某个状态,那么对方取完 $x $ 或 $ y 阅读全文
摘要:
再次模拟退役,最近心态又双叒叕有点炸。。。。 实力确实也真不行 A. 最长反链 猜结论,从大到小能选就选,然后打表发现能选与不能选有明显的分界,于是直接二分答案 然后因为判断时候需要 $*10$ 炸 $int$ 了 ~~我有大病吧,一共几个变量还不开 $long long$~~ code #incl 阅读全文
摘要:
~~$accoder$ 用数据告诉我们,找女朋友是个假命题~~ 找(a) 简单推一下柿子,维护总和和平方和 code #include<cstdio> #include<cstring> #include<algorithm> #include<set> #include<map> #include 阅读全文
摘要:
设密码比较失败,所以, A. 构造字符串(str) 并查集维护一下相同的位置,注意到$ LCP + 1 $ 位置不同,于是每个集合取出来最靠前的为代表,两个集合不同,大集合向小集合连边,每次集合复制为能扫到的 $mex$ code #include<cstring> #include<cstdio> 阅读全文
摘要:
A.挑战 签到题,从左往右推一遍即可, $f_{i,j }$ 表示前面全部推到 $(i, j)$的最小步数 code #include<cstdio> #include<algorithm> #include<cstring> #include<vector> #include<queue> #in 阅读全文
摘要:
挂分原因: 数组开到 $n$ ,读入 $2n ,3n$... A. 最大匹配 问题转化选择 $n$ 个 $max(a_i, b_i)$ 剩下选$-min(a_i, b_i)$ 于是可反悔贪心直接莽 其他人的做法是分情况讨论证明按照 $a + b$ 排序,首尾配对 code #include<bits 阅读全文
摘要:
A 字符串还原 删去一个那么 $[1, n/2]$ $[n/2 + 1, n]$ 有一个不变 那么 $check$ 一下就行了, 赛时理解错了 $unique$ 挂了 $20$ code #include<bits/stdc++.h> using namespace std; typedef lon 阅读全文
摘要:
A 发现只关心其相对 $a_1$ 的大小关系,于是转化为 $0 / 1$ 然后发现需要保证 $pre_i + b_i < n$ 就不会被裁 其中 $pre_i$ 表示 $\sum_{j = 0}^{i - 1} cnt_1$ 于是线段树维护一下最大值,区间修改即可 code #include<bit 阅读全文
摘要:
从今天下午大概 14:00开始看题 于19:26:23在 $loj$ $ac$ 减去吃饭核酸啥的,大概五个小时?(~~考场根本没分好吧~~) 虽然打赌一下午写出来失败了,但是还是不错的吧? 不重要,关键是 没有大改,没有重构,框架一遍过 过程心态很好 练出心态就好 ~~甚至两边有重复提交一份代码~~ 阅读全文
摘要:
A. 猜道路 直接弗洛伊德即可,不知道为啥脑抽,想了半年建最小生成树 code #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef unsigned long long ull; inline int 阅读全文