
2024春季学期训练记录
文章平均质量分 74
Texcavator
XCPC模板总结见 https://github.com/Texcavator/XCPC-Template
此博客停止更新
展开
-
2024.5.20-5.26 训练记录(30)
文章目录CF 1325D Ehab the Xorcist(*1700 思维)CF 1516C Baby Ehab Partitions Again(*1700 01背包+思维)CF 486C Palindrome Transformation(*1700 思维)CF 1368D AND, OR and square sum(*1700 位运算+思维)CF 1628B Peculiar Movie Preferences(*1700 思维)CF 1479A Searching Local Minimum(*原创 2024-05-21 21:37:12 · 916 阅读 · 0 评论 -
2024.4.29-5.5训练记录(29)
【代码】2024.4.29-5.5训练记录(29)原创 2024-05-06 09:01:11 · 857 阅读 · 1 评论 -
2024.4.22-4.28 训练记录(28)
输出题,因为没注意0吃了一发longlong。原创 2024-04-28 18:39:30 · 911 阅读 · 0 评论 -
2024.4.15-4.21 训练记录(27)
同时这里又有个二分性,如果在前 j 个 b 中我们选择了第 i 个 b ,那么我们称 i 是对于 j 的最优决策点,可以发现,最优决策点一定是非递减的,所以套个二分处理(其实这里也没有理解的很好,但主席树真的调了超级无敌久)换之前的根是 u,换之后的是 ver,从 u 换到 ver ,所有在 ver 子树中的结点到根的距离加一,其他结点到根的距离减一。很明显先按b排序,然后枚举b,再找b和b之前对应的a中最大的k个值,这个用主席树维护。,但是没注意到 n 挺小的完全暴力查找就可以,一直在想怎么二分找值。原创 2024-04-22 10:33:47 · 899 阅读 · 0 评论 -
2024.4.8-4.14 训练记录(26)
说得更清楚一点,第一个操作可以减少数组首项的值,同时把差分数组中小于0的数加1,第二个操作可以把差分数组中大于0的数减1(且不会造成其他任何影响,也就是第二个操作可以随意进行,所以我们不用管差分数组中大于0的数)这题的困难之处就是看数据不能n方枚举,但是又不能不枚举,所以观察数据,发现a最大是2.5e6,说明之后相加的和不会超过5e6,枚举这个复杂度是可以接受的,所以就还是枚举,最坏情况下枚举5e6次是一定能找到一样的。第二个思路是bfs更新每个点的状态,利用优先队列先处理b小的位置,但后来发现也不对。原创 2024-04-18 14:06:59 · 378 阅读 · 0 评论 -
2024.4.1-4.7 训练记录(25)
智慧题,因为010101这样的串我们可以直接消掉,所以没必要考虑这个,只要考虑11和00这样连在一起的串就可以,因为每两个相同的字母连在一起我们就要额外再消一次,所以前缀和计算一下有多少11和多少00,然后取大的(为什么取大的呢?因为举个例子:11[可以消掉的部分]00,我们可以先把中间消掉,然后变成:1100,把中间的10消掉,就可以减少需要的次数了)原创 2024-04-08 07:18:08 · 202 阅读 · 0 评论 -
2024.4.1-4.2 训练记录(24)
复活了。原创 2024-04-07 20:03:00 · 311 阅读 · 0 评论 -
2024.3.25-26 训练记录(23)
如果没环就一定符合条件,因为我们知道在拓扑图中,拓扑序小的可以通向拓扑序大的,相反不行,所以我们直接将无向边中拓扑序小的指向大的就可以。首先建图跑dfs,维护当前结点以及上方的最小的代价,再维护每个结点需要1转0和0转1的个数,每次处理小的那个就可以。这题就是,大于等于mid就记为1,否则记为0,然后因为只有八位,完全可以用二进制表示。这一题的两个收获,一个是学会了字符串哈希,还有接触到了之前没碰到过的字典树上dfs。不是答案具有二段性才能用二分,如果能在二分的时候更新你想要的答案一样可以二分。原创 2024-04-02 07:51:11 · 478 阅读 · 0 评论 -
2024.3.23 训练记录(22)
因为1为根结点的这个子树很可能是不满足条件的,但是我们底下满足条件的子树已经达到要求了,所以1不满足要求也没关系。对每一个输入的字符串求 ne 数组,然后用前面已经处理过的字符串求相同的前后缀。第二道自己写的2000!,那走到就是胜利,除非起点和终点一样(这个情况需要特判一下)有个要注意的卡我好久的地方是,最后判断的时候不能加上。dfs,从下往上看,某个子树满足条件就砍一刀。,那lkr三个位置的只需要一次就可以消掉了。思路是起点开始跑bfs,除了终点外的。是不能走的,一般情况下如果终点是。原创 2024-03-23 20:35:27 · 377 阅读 · 0 评论 -
2024.3.21 训练记录(21)
首先跑dijkstra,记录下每个点最短路的入度,然后遍历每一条铁路,如果最短路小于铁路长度,这个铁路就可以删掉,如果最短路等于铁路长度并且最短路入度大于1,说明还有其他路径可以到这个点,就把入度减一并且把这条铁路删掉。我们怎么看他有没有被插队呢,我们用优先队列维护已经吃过饭的人,如果队头的人的优先级比cur以及cur之后所有还没吃饭的人的优先级低,那他就没法插队到cur前面,否则就是队头的人打饭(所以维护一下每个点的后缀最大值)想到了如果k旁边的一个数大于k,那就可以只选这两个数把另一个数也变成k。原创 2024-03-22 09:18:04 · 432 阅读 · 0 评论 -
2024.3.19 训练记录(20)
借着这道题复习了AC自动机,虽然这题并不需要,但还是有点价值的。先用 kmp 求出 ne 数组。表示前缀 i 出现的次数,原创 2024-03-20 14:52:03 · 323 阅读 · 0 评论 -
2024.3.17 训练记录(19)
写一下下午校赛的部分题目。原创 2024-03-18 17:34:07 · 417 阅读 · 0 评论 -
2024.3.16 训练记录(18)
今天写的题太少了TAT明天有不能带板子的比赛,剩下时间复习下常用但是不熟悉的板子ovo。原创 2024-03-16 20:51:15 · 417 阅读 · 0 评论 -
2024.3.15 训练记录(17)
一开始想到二分但是又觉得没有二段性就没敢写,没想到真的是二分,分奇数位置为答案和偶数位置为答案两种情况来想,拿奇数举例,check函数中贪心,这一个数如果能选给奇数位置,下一个数就立刻选给偶数位置(因为就算不选给偶数位置它也没办法贡献给奇数位了),偶数情况的话,第一位直接给奇数位,让偶数位有更多的选择空间。的信息,k为0表示前面路径过来最少的2的个数,k为1表示前面路径过来最少的1的个数,最后。是答案,但是如果矩阵中有0的话,最后0的个数最多就是1,所以如果。路径在dp的时候维护,逆序输出。原创 2024-03-15 10:34:34 · 479 阅读 · 0 评论 -
2024.3.14 训练记录(16)
这几天发生了一些不好的事情效率低下也没怎么做题,要尽快调整恢复状态了。原创 2024-03-14 19:46:04 · 866 阅读 · 0 评论 -
2024.3.12 训练记录(15)
好幽默的div3,好惨的挖掘机。。。算是掉dp窝里去了,d半天才搞出来二维dp,e又来个单调队列优化dp,好不容易最后几分钟调出来了,结果没看到题目说要求连续的几行(样例我要脚刹你!!!!个人赛还是急,急急急急急急急,急死我了过了样例就交也不想想有没有啥坑点能卡,导致前面wa来wa去,编几个样例跑一下迟两分钟交又怎么了你,以后从日常练习就开始养成习惯,绝对是因为平常写题不算罚时所以根本没有耐心自己验算的原因。。。原创 2024-03-12 09:11:20 · 420 阅读 · 0 评论 -
2024.3.11 训练记录(14)
继续补题。原创 2024-03-11 18:30:40 · 856 阅读 · 0 评论 -
2024.3.10 训练记录(13)
补一下下午组队赛的题。原创 2024-03-10 21:30:34 · 661 阅读 · 0 评论 -
2024.3.9 训练记录(12)
昨天写课内作业鸽了一整天,该骂。原创 2024-03-14 10:45:40 · 403 阅读 · 0 评论 -
2024.3.7 训练记录(11)
首先看数据范围非常小基本可以确定用dp做,然后这题还小的离谱只有18,加上求的又是最大值,于是考虑状态压缩dp。以树上不同的结点为根答案不同,一次dfs只能得到一个结点为根时的答案,这种题目需要用。i 表示状态,每一位代表一道菜,j 代表最后吃了什么菜。具体转移写在注释里了。原创 2024-03-09 15:32:46 · 789 阅读 · 0 评论 -
2024.3.6 训练记录(10)
,没能考虑到应该最小化后半部分绝对值的大小,只要b是从大到小排序的,绝对值的部分就不需要付出多余的代价,因此按照b排序,每次枚举选的第一个点和最后一个点,看中间可以选哪些数(利用优先队列,优先选a值小的数,也就是,一旦代价超过题目限制,就优先删除大的数),每次更新答案即可。,我们发现只要 ab 的奇偶性相同就有解,循环中每次把当前的数当做 a ,记录前方(包括自己,因为xy可以相等)有多少和自己奇偶性相同的数,每次加上这个值即可。,加上 x+y 和 y-x 都在集合里的组合,这个怎么计算呢,假设。原创 2024-03-06 18:09:32 · 504 阅读 · 0 评论 -
2023.3.5 训练记录(9)
写java作业去了没写啥题。原创 2024-03-06 16:14:07 · 374 阅读 · 0 评论 -
2024.3.4训练记录(8)
最近感觉对数据结构题的反应度提升了,这一题是上午看的但是当时旁边没电脑,傍晚这会儿可能思路就出现了点偏差,想到了树状数组+前缀,应该是能独立写出来的一道题。正着反着各跑一遍前缀和,记录下每个数是第几次出现,把反着跑的结果存到树状数组里,之后遍历原数组,答案每次加上当前数后方的出现次数比当前数小的个数。也是上午看的一道题,思路非常正确,但还是经不住晕递归,调了很久,赛时看不到错误数据估计要调更久,唉。看到数据范围就想到dp,甚至连状态表示都构造出来了还搞不出来转移方程,真是没脑子啊。原创 2024-03-04 21:01:06 · 458 阅读 · 0 评论 -
2024.3.3 训练记录(7)
这几天又忘记每天复习了,以后在实验室复习完再回去好了最近做1800的题目好多dp啊太ex了。原创 2024-03-04 17:17:27 · 741 阅读 · 0 评论 -
2024.3.2 训练记录(6)
大概思路就是先判断左上角的点,然后判断右下角的点,这样可以把两个地雷锁定在一条or两条线上,第三次判断左下角的点,判断这个顶点产生的一条线与前两次判断产生的一条or两条线会形成一个or两个交点,第四次询问其中的一个交点,是的话直接输出,不是就输出另一个交点。本来想用dp,但是一看范围好大就不敢用,然后想到是不是先预处理一下小一点的数,然后大的数多出来的部分全部用15,但是觉得这样写好莫名其妙就没写,赛后发现就是这样qaq。奇偶性,和具体的数是多少无关,所以输入a的时候就把转换成奇偶,奇数1偶数0。原创 2024-03-03 13:21:47 · 877 阅读 · 0 评论 -
2024.3.1 训练记录(5)
昨晚cf上大分了开心捏,三月了得想想新的高效一点的训练方法了不能再像个无头苍蝇乱撞了目前的想法是1700-2000板刷cf,遇到不会的算法就学,思维还需要再提升一下,暑假开始补没有接触过的算法。原创 2024-03-01 21:33:30 · 942 阅读 · 0 评论 -
2024.2.29 训练记录(4)
bfs,把图当做不动的,那么往下走就相当于往下两步,往右走就相当于往右下方走,往上走就相当于不动,当走到最后一列的时候再计算走到终点需要多少步(每走一步终点的相对位置都下移一格,根据走的步数可以推断人在最后一列时终点在哪一行)想到这一点之后还会因为实现方式被卡:如果横着切,也就是长不动,那就把所有长等于最大值的都删掉,宽里删掉相应的边,竖着切相反。这一题首先要想到,切第一刀的时候,切下来不动的那一块,要不长和原矩形相等,要不宽和原矩形相等,所以两种情况都判断一下。,再枚举 k 就行了。原创 2024-03-01 12:50:16 · 484 阅读 · 0 评论 -
2024.2.28 训练记录(3)
还有个扫描线+单调栈+树状数组的没有完全搞懂今天不写,晚上vp了下昨天的div3,绝佳的上分机会居然没打,好顺手的A-E。。。原创 2024-02-28 23:38:44 · 354 阅读 · 0 评论 -
2024.2.27 训练记录(2)
首先如果n个数不够组成k个三元组是肯定不行的,然后如果k不等于0的话,所有数的总和不够允许组成k个代价最小的三元组(也就是212)也是不行的。然后我们遍历每个数,有相同质因子的存进一个并查集,如果最后只有一个并查集那就不可能实现,因为这题卡常太严重就不写完整代码了。如果n个数最多能组成k个三元组的话,我们要把剩下的s分给三元组中的第二个数,如果分不完就不能满足要求。如果n个数可以组成大于k个三元组的话,我们就把多余的s全部放到三元组之后的第一个数上去。每次取完剩下的元素总是在一个区间内,所以要联想到。原创 2024-02-28 16:03:28 · 420 阅读 · 0 评论 -
2024.2.26 训练记录(1)
首先端点和方块总数不用说了,想一想方块数的翻倍变化都来自于红色,所以要对红色特殊注意,合并的时候,右边结点不收红方块的影响(因为已经计算过了),收到影响的就是左边结点中,在最后一个蓝色方块右边的所有方块,所以我们要记录最后一个蓝色方块右边有多少方块,而影响它们的是右边结点中,第一个蓝色方块左边所有的红色方块,所以我们要记录第一个蓝色方块左边有多少红色方块,更新这个信息的时候需要用到红色方块总数和是否存在蓝色方块,所以记录这两个信息。可以选很多六个数的情况比较复杂,我们首先考虑只能选六个数的情况。原创 2024-02-26 21:30:24 · 935 阅读 · 0 评论