摘要: 高中时没有搞文化课去打了OI,然而高中时太幼稚不知道OI该怎么学,也不清楚OI和高考的重要性。 于是高一侥幸拿了省一之后开摆了,到最后几个月找到动力,再到NOIP突然开大空间爆零退役,就,挺秃然的。 之后一直在尝试遗忘,杀死了以前自己的全部,可以算是处于混沌的状态。 浑浑噩噩捡漏到了天大,之后又浑浑 阅读全文
posted @ 2023-06-27 18:39 Tian-Xing 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 重学指针 双向异或链表 利用异或的特点,在双向链表的基础上进行改进,每个节点不再存储左节点和右节点的地址,改为存储左节点和右节点的地址的异或值。这样可以减少一半的空间实现双向链表的所有功能,在遍历的时候一边查询一边异或即可。 阅读全文
posted @ 2022-10-02 09:52 Tian-Xing 阅读(70) 评论(1) 推荐(0) 编辑
摘要: 数据结构 单调栈 $1.1$ 可撤销回退单调栈,插入元素时二分插入,记录栈顶和栈内信息丢进另外一个栈,回退时$O(1)$撤销。 NOI2014 购票 线段树合并 $1.2$ 两颗线段树在合并的时候可以顺便维护一些信息。 [PKUWC2018]Minimax [POI2011]ROT-Tree Rot 阅读全文
posted @ 2020-08-25 07:35 Tian-Xing 阅读(919) 评论(1) 推荐(2) 编辑
摘要: \(About\) 感觉做题思维很差,很多题算法都会但就是想不到(捂脸。 滚来做$CF$题锻炼思维力。 \(Codeforces\ Round\ \#665\ (Div.\ 2)\) \(A\) 分两种情况讨论。 若$k >= n$,那么将$A$移动到$(k, 0)$为最优。 若$k < n$,解方 阅读全文
posted @ 2020-08-24 18:17 Tian-Xing 阅读(364) 评论(0) 推荐(0) 编辑
摘要: > $\_ctz$写日记写的很嗨,感觉挺爽,小蒟蒻也来水一水,显然并没有人看见(希望)。 上面是以前对于日记的看法,现在大概就是没事想发泄情绪的时候瞎写点。($2022.12.22$) $$5.27$$ 找$Ldx$要了昨天托她买的指甲刀,然后发现塑料包装袋没法撕开?!感谢$Wzzr$大爷付出一支笔 阅读全文
posted @ 2020-07-30 15:48 Tian-Xing 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 通用 \(link0.1\) \(link0.2\) 数据结构 \(link1.1\) 树状数组 \(link2.1\) 线段树 \(link2.2\) 虚树 \(link2.3\) \(Lct\) \(link2.4.1\) \(link2.4.2\) 动态规划 矩阵优化 \(link3.1\) 阅读全文
posted @ 2020-07-29 15:58 Tian-Xing 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 算[l, r]区间里所有子区间最小值的和。 对每个位置i向左知道第一个小于它的位置,向右找到第一个小于它的位置,算算贡献。 考虑可以用单调栈算。 但是如果一个区间里同一个最小值出现多次就挂了,所以考虑魔改一下,对于右边找到第一个小于它的点,对于左边找到第一个小于等于它的点并记录位置,这样的话就相当于 阅读全文
posted @ 2020-06-12 10:29 Tian-Xing 阅读(149) 评论(0) 推荐(1) 编辑
摘要: Description 传送门 Solution 观察性质,发现最优解下对于目标串中的每个位置都可以找一个初始串的位置匹配,并且匹配确定后最短操作次数一定。 这样我们考虑以匹配为状态$dp$求出最少操作次数,设$dp_{i ,j}$表示目标串最后$i$个位置,已经和初始串中$[j, l]\(区间内匹 阅读全文
posted @ 2020-12-01 16:20 Tian-Xing 阅读(161) 评论(0) 推荐(0) 编辑
摘要: Description 传送门 Solution 首先每一位上有$0$就不合法,然后很多不同的排列乘起来是相同的,所以盲猜最后的$f$函数有用的值不多。 经过搜索发现最多只有不到$10000$个。 为啥别的题解都是8282我搜出来是9200? 那就把这些合法的$f$函数值都放进哈希表存起来,然后设$ 阅读全文
posted @ 2020-11-17 17:47 Tian-Xing 阅读(80) 评论(0) 推荐(0) 编辑
摘要: Description 传送门 Solution 因为只要经过就会修所以最优的修缮策略是从起点开始往左或往右修一段区间,所以考虑反向区间$dp$。 设$dp_{i, j}\(表示修缮完区间\)[i, j]$后的时间内再修其它区间产生的花费。 那么转移时不需要考虑区间$[i, j]\(,只需要考虑除了 阅读全文
posted @ 2020-11-17 09:03 Tian-Xing 阅读(114) 评论(0) 推荐(0) 编辑
摘要: Description 传送门 Solution 考虑对于每个点处理它的所有儿子,它的所有儿子连上来的路径要不就是在当前子树内两两匹配,要不就是继续连到该点的父亲。 如果在子树内匹配,儿子两个儿子的石子数量减一,该节点的石子数量减一;对于连上去的,某个儿子的石子数量减一,该节点的石子数量减一。 所以 阅读全文
posted @ 2020-11-11 21:52 Tian-Xing 阅读(107) 评论(0) 推荐(0) 编辑
摘要: Description 传送门 Solution 要求字典序最小,那么把原字符串中最小的移到开头一定是最优的。 同时为了使字典序尽量小,我们要使字符串中开头最小的字符串的数量尽可能的多且连续,由于是把字符串的反串放到字符后面,那我们先把最小的字符移动到字符串结尾,然后截取若干段最小字符和前面的一些字 阅读全文
posted @ 2020-11-11 19:06 Tian-Xing 阅读(104) 评论(0) 推荐(0) 编辑
摘要: \(A\) 认真阅读题面,仔细调试大模拟,手动构造数据检查,赛后$FST$即可。 #include <iostream> #include <cstdio> #include <cstring> using namespace std; #define fi first #define se sec 阅读全文
posted @ 2020-11-10 07:37 Tian-Xing 阅读(169) 评论(0) 推荐(0) 编辑
摘要: Description 传送门 Solution 考虑朴素的$2-SAT$,开点记录某个人是不是犯人,每句话是不是真的,然后每个人所说的所有话之间都要连边为保证只有一句假话。这样边数会很大,复杂度会假。 用前缀和的思想优化该做法,$pre_{i, j}$表示$i$的前$j$句话有没有出现假话。 那么 阅读全文
posted @ 2020-11-02 23:09 Tian-Xing 阅读(189) 评论(0) 推荐(0) 编辑
摘要: Description 传送门 Solution 非常妙的一道题。 首先题目中的判定条件“走到拥有关键点的环”是一个不好判定的条件,那么考虑将问题转化变为好判定的。 将原来的操作“保留一条边其它边全部删除”变为“选择一条边走出去”,同时,将获胜条件从“走到拥有关键点的环”变为“可以无限次经过关键点” 阅读全文
posted @ 2020-11-01 22:51 Tian-Xing 阅读(140) 评论(0) 推荐(0) 编辑