06 2020 档案

摘要:Link Solution: 还是\text 根据Link我们可以得到一个普适性较强的做法。 而这题就是多组数据。改下数据即可。 但是字符串的输入要绝对注意,每一次的清空都不能落下。 #include<b 阅读全文
posted @ 2020-06-26 14:14 Refined_heart 阅读(136) 评论(0) 推荐(0) 编辑
摘要:\text我来啦我来啦 Solution: 题目要求求好几个串串的\text 由于串串的数量并不多,所以我们把它们塞到一个\text里面,中间加上分隔符号。 那么答案就是最深的且它的子树中具有所有分节符的非叶子节点。 至于分节符数量和种类,用前缀和即可。 介于$\t 阅读全文
posted @ 2020-06-26 13:41 Refined_heart 阅读(301) 评论(1) 推荐(0) 编辑
摘要:Link Solution: 题目要求找到两个串的最长公共子串。LCP 我们将两个串中间和末尾插入终止符,并弄到一棵后缀树上去。 然后我们发现,对于一个叶子节点,它属于哪个子串,我们只需要找到它的父边上第一个出现的终止符属于哪个边 阅读全文
posted @ 2020-06-26 10:50 Refined_heart 阅读(142) 评论(1) 推荐(0) 编辑
摘要:#include<bits/stdc++.h> using namespace std; const int MAXN=1e6+10; typedef long long ll; char s[MAXN]; int n,siz[MAXN<<1]; ll ans=0; const int inf=1e 阅读全文
posted @ 2020-06-25 09:19 Refined_heart 阅读(106) 评论(0) 推荐(0) 编辑
摘要:\text序列,是树与序列的一种双射。 ##构建过程: 每次找到一个编号最小的叶子节点Leaf,将它删掉,并将它所连接的点的度数1,且加入\text序列。 重复上述步骤,直到只剩下两个点。 ##实现: 考虑如何实现。 最朴素的显然每次暴力找,复杂度O(n2).显然不够优秀。 阅读全文
posted @ 2020-06-21 17:21 Refined_heart 阅读(261) 评论(0) 推荐(0) 编辑
摘要:Link Solution: 这是一道构造题。 题目要求恰好有n个点的四周全都是灰色点,所以直接输正方形是不行了。 考虑k=1:则输出一个十字,且这个十字的左上角和右下角也涂色即可。 当k=2时,则在1的基础上把右上角三个 阅读全文
posted @ 2020-06-20 17:42 Refined_heart 阅读(168) 评论(0) 推荐(0) 编辑
摘要:Link Solution: 把奶牛的忍耐度转化为线段,则题目转化为选择一些点使得覆盖的线段尽可能多。一个点只能覆盖一条线段。 考虑将点按照位置排序,线段按照右端点排序。排序后显然线段的最低耐受程度是递增的,那么我们显然用位置最靠左的点最优,因为以后它一定覆盖不了其它的 阅读全文
posted @ 2020-06-16 12:34 Refined_heart 阅读(129) 评论(0) 推荐(0) 编辑
摘要:Link Solution: 首先,显然的策略是把一定不能翻倍的先加进来。继续考虑下一步操作。 考虑x,y两个可以翻倍的物品,且ax>ay. 那么,设原来答案为sum,则有下面情况: 先选择x:ax<sum则翻倍 阅读全文
posted @ 2020-06-15 19:39 Refined_heart 阅读(167) 评论(0) 推荐(0) 编辑
摘要:Link Solution: 题目要求构造一个最短的序列,使得异或和为u,数列和为v. 那么,因为是异或,所以最终序列的u对应的二进制位一定出现了奇数次,其他一定是偶数次。 显然u,v奇偶性不同或是$ 阅读全文
posted @ 2020-06-13 10:08 Refined_heart 阅读(133) 评论(0) 推荐(0) 编辑
摘要:Link Solution: 考虑区间[l,r]\(\)[l+1,r]\(\)[l,r1]转移而来。至此出现区间dp模型。 因为这个是求双方最优解,显然对于一段区间[l,r],如果对手选择最优解,那么 阅读全文
posted @ 2020-06-11 19:59 Refined_heart 阅读(148) 评论(0) 推荐(0) 编辑
摘要:Link Solution: 这个题就是给Nim游戏做了一个限制。 考虑一下\text函数:给定的局面下对应的SG函数值,若=0则必败。 又有:许多子游戏组成的一个游戏的SG=_nSGi. 那么对于这个 阅读全文
posted @ 2020-06-10 21:30 Refined_heart 阅读(159) 评论(0) 推荐(0) 编辑
摘要:Link Solution: 由于有两种操作,不太好搞。 观察到,如果不考虑合并,显然总石子数为奇数则先手必胜,否则必败。 对于一个局面,显然我们最多操作次数是(ai)+n1 定义b=n1+ai,则如果不存在石子数为1的堆,同样有b阅读全文
posted @ 2020-06-10 19:52 Refined_heart 阅读(272) 评论(0) 推荐(0) 编辑
摘要:Link Solution: 菜鸡自己想出来了状态设计,但是没有实现出来……菜死了 设dp[i][j]表示该选第i个,最多选j个的最优解。注意这里的定义仅仅是最优解,而不是先手最优。 那么,对于每一个dp[i][j]都要由下一步的dp[i+x][x+x]转移 阅读全文
posted @ 2020-06-07 21:32 Refined_heart 阅读(144) 评论(0) 推荐(0) 编辑
摘要:Link Solution: 回顾一下Nim游戏那个优美结论的\text 将所有石子数量异或起来,若和为0则必败,否则必胜。(先手) 那分以下情况考虑: 首先是全0:此时必败,显然异或和为0. 然后是异或和不为0的状态:那我们必定可以找到一个ai, 阅读全文
posted @ 2020-06-07 09:11 Refined_heart 阅读(207) 评论(0) 推荐(0) 编辑
摘要:Link Solution: 讲实话这题有点烦,不知道为啥改了下\text就过了……原版本dfs好像没啥错啊…… 其实对于子树问题,我们求出原来树的dfs序列,则可以将它转化为一个序列问题。注意题目中说的是有根树,以1为根。 那么,我们一遍dfs求出序列后, 阅读全文
posted @ 2020-06-04 22:24 Refined_heart 阅读(137) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示