该文被密码保护。 阅读全文
posted @ 2020-08-25 07:35 Tian-Xing 阅读(1) 评论(0) 推荐(0) 编辑
摘要:\(About\) 感觉做题思维很差,很多题算法都会但就是想不到(捂脸。 滚来做$CF$题锻炼思维力。 \(Codeforces\ Round\ \#665\ (Div.\ 2)\) \(A\) 分两种情况讨论。 若$k >= n$,那么将$A$移动到$(k, 0)$为最优。 若$k < n$,解方 阅读全文
posted @ 2020-08-24 18:17 Tian-Xing 阅读(65) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2020-07-30 15:48 Tian-Xing 阅读(41) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2020-07-29 15:58 Tian-Xing 阅读(10) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2020-06-12 10:29 Tian-Xing 阅读(32) 评论(0) 推荐(1) 编辑
摘要:Description 传送门 Solution 首先每一位上有$0$就不合法,然后很多不同的排列乘起来是相同的,所以盲猜最后的$f$函数有用的值不多。 经过搜索发现最多只有不到$10000$个。 为啥别的题解都是8282我搜出来是9200? 那就把这些合法的$f$函数值都放进哈希表存起来,然后设$ 阅读全文
posted @ 2020-11-17 17:47 Tian-Xing 阅读(6) 评论(0) 推荐(0) 编辑
摘要:Description 传送门 Solution 因为只要经过就会修所以最优的修缮策略是从起点开始往左或往右修一段区间,所以考虑反向区间$dp$。 设$dp_{i, j}\(表示修缮完区间\)[i, j]$后的时间内再修其它区间产生的花费。 那么转移时不需要考虑区间$[i, j]\(,只需要考虑除了 阅读全文
posted @ 2020-11-17 09:03 Tian-Xing 阅读(5) 评论(0) 推荐(0) 编辑
摘要:Description 传送门 Solution 考虑对于每个点处理它的所有儿子,它的所有儿子连上来的路径要不就是在当前子树内两两匹配,要不就是继续连到该点的父亲。 如果在子树内匹配,儿子两个儿子的石子数量减一,该节点的石子数量减一;对于连上去的,某个儿子的石子数量减一,该节点的石子数量减一。 所以 阅读全文
posted @ 2020-11-11 21:52 Tian-Xing 阅读(9) 评论(0) 推荐(0) 编辑
摘要:Description 传送门 Solution 要求字典序最小,那么把原字符串中最小的移到开头一定是最优的。 同时为了使字典序尽量小,我们要使字符串中开头最小的字符串的数量尽可能的多且连续,由于是把字符串的反串放到字符后面,那我们先把最小的字符移动到字符串结尾,然后截取若干段最小字符和前面的一些字 阅读全文
posted @ 2020-11-11 19:06 Tian-Xing 阅读(10) 评论(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 阅读(23) 评论(0) 推荐(0) 编辑
摘要:Description 传送门 Solution 考虑朴素的$2-SAT$,开点记录某个人是不是犯人,每句话是不是真的,然后每个人所说的所有话之间都要连边为保证只有一句假话。这样边数会很大,复杂度会假。 用前缀和的思想优化该做法,$pre_{i, j}$表示$i$的前$j$句话有没有出现假话。 那么 阅读全文
posted @ 2020-11-02 23:09 Tian-Xing 阅读(9) 评论(0) 推荐(0) 编辑
摘要:Description 传送门 Solution 非常妙的一道题。 首先题目中的判定条件“走到拥有关键点的环”是一个不好判定的条件,那么考虑将问题转化变为好判定的。 将原来的操作“保留一条边其它边全部删除”变为“选择一条边走出去”,同时,将获胜条件从“走到拥有关键点的环”变为“可以无限次经过关键点” 阅读全文
posted @ 2020-11-01 22:51 Tian-Xing 阅读(8) 评论(0) 推荐(0) 编辑
摘要:本来想打打计蒜客的比赛涨涨信心的,结果$T2$少考虑了一点东西给我整自闭了。 \(A\) 按位与的性质是,\(a \& b <= a\),所以某个点的距离就是所有直接与它相连的边的边权。 #include <iostream> #include <cstring> #include <cstdio> 阅读全文
posted @ 2020-10-18 19:33 Tian-Xing 阅读(88) 评论(0) 推荐(0) 编辑
摘要:Description 传送门 Solution 首先容易想到要把询问离线掉,按照套路枚举右端点$r$,$ans_i$表示$[i, r]$的答案。 这样我们只需要考虑每次加进来一个点$a_r$对所有答案的贡献。 以$a_r$将点分为两种:权值大于它的和小于它的。 因为两种是对称的所以只讨论权值大于它 阅读全文
posted @ 2020-10-15 20:54 Tian-Xing 阅读(14) 评论(0) 推荐(0) 编辑
摘要:并查集应用$10$ 给定一棵树,每次有两种操作: • 加边 • 询问两个点是否存在⾄少两条不相交的路径 两个点之间是否存在至少两条不相交的路径就等价于是否在同一个边双里面。 考虑在树上$u, v$之间连边,会形成一个经过$u, v, lca_{u, v}$的环,我们需要在加边之后把这个新形成的环上的 阅读全文
posted @ 2020-10-12 17:06 Tian-Xing 阅读(2) 评论(0) 推荐(0) 编辑