【LOJ】#2012. 「SCOI2016」背单词】的更多相关文章

题目链接 loj#2012. 「SCOI2016」背单词 题解 题面描述有点不清楚. 考虑贪心 type1的花费一定不会是优的,不考虑, 所以先把后缀填进去,对于反串建trie树, 先填父亲再填儿子,这样每个单词的后缀填完了才会被填. 不是单词结束点的点是没用的,去掉 根据直觉,填单词和dfs序有关,所以应该先填Size小的 根据贪心,先填Size小的儿子.因为将Size小的先填可以减少后面儿子的代价 而先填大的会增加代价. 代码 #include<queue> #include<cst…
题解 我们发现第一种操作肯定不可取,每个节点里它最近的点是它最长出现过的后缀,发现这就是AC自动机的fail节点,根据fail的关系这会是一棵树,而一个单词的前一个序号最大的后缀必定是它的父亲 然后我们考虑怎么获得最小值,x是肯定要加上的,我们让每次减掉的y最小 一个错误的想法:按照儿子个数分类,建一个set,每次拿儿子最小的= = emmm这个,如果你有一条10^3的链和1个点5个儿子比较一下,会发现这是错的 我们不拿这个点会造成多少贡献来看,我们初始设置每个点要减去的值都是0,我们挑选了一个…
#2012. 「SCOI2016」背单词 思路: Orz: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 100005 #define maxm 510005 ],tot=,len,head[maxm],E[maxm],V[maxm],cnt=; int val[maxm],cnt2,size[maxm],sta[maxm],top; long long ans,sum; char line[maxm]; inli…
「SCOI2016」背单词 出题人sb 题意有毒 大概是告诉你,你给一堆n个单词安排顺序 如果当前位置为x 当前单词的后缀没在这堆单词出现过,代价x 这里的后缀是原意,但不算自己,举个例子比如abc的后缀是bc和c 否则 如果它的后缀(指在n个单词中的)在1~x-1全部出现了,代价为x-最后一个后缀的位置y 如果没有全部出现,代价n^2 看我气的连latex都懒得用了 然后你发现按后缀建字典树就可以了 然后你发现直接按子树大小贪心就可以了 但是我一开始偷懒就直接在trie上贪心走子树,这样是不行…
「SCOI2016」背单词 Lweb 面对如山的英语单词,陷入了深深的沉思,「我怎么样才能快点学完,然后去玩三国杀呢?」.这时候睿智的凤老师从远处飘来,他送给了 Lweb 一本计划册和一大缸泡椒,然后凤老师告诉 Lweb ,我知道你要学习的单词总共有 $ n $ 个,现在我们从上往下完成计划表,对于一个序号为 $ x $ 的单词(序号 $ 1 \ldots x-1 $ 都已经被填入): 1. 如果存在一个单词是它的后缀,并且当前没有被填入表内,那他需要吃 $ n \times n $ 颗泡椒才能…
-- #include <algorithm> #include <iostream> #include <cstring> #include <cstdio> #include <vector> using namespace std; typedef pair<int,int> par; typedef long long ll; int s[510005][26], n, len, cnt, idx[510005], hea[5…
题目链接 loj#2013. 「SCOI2016」幸运数字 题解 和树上路径有管...点分治吧 把询问挂到点上 求出重心后,求出重心到每个点路径上的数的线性基 对于重心为lca的合并寻味,否则标记下传 对于每个询问,只需要暴力合并两个线性基即可 每个点只会被加到logn个线性基里,所以总复杂度为O(nlogn60 + q60*2) 然后我写了句memset(b,0,sizeof 0)...被卡了1h... 代码 #include<cstdio> #include<vector> #…
题目链接 loj#2015. 「SCOI2016」妖怪 题解 对于每一项展开 的到\(atk+\frac{dnf}{b}a + dnf + \frac{atk}{a} b\) 令$T = \frac{a}{b} $ 原式$=atk+Tdnf + dnf + \frac{atk}{T} $ 这就是那个单峰的对勾函数, 把单峰函数复合为求最值,发现也是个单峰函数(下凸壳) 三分就好了 或者维护一个最大值得下凸壳 代码 #include<cstdio> #include<algorithm&g…
题目链接 loj#2016. 「SCOI2016」美味 题解 对于不带x的怎么做....可持久化trie树 对于带x,和trie树一样贪心 对于答案的二进制位,从高往低位贪心, 二进制可以表示所有的数,那么每一位的选取情况,对于之后的可选区间也是一定的 贪心时,判断当前位,是否可以为1, 用线段树维护一下,每次走左儿子代表这一位选了1,走又儿子为选了0,这样区间是不交 对于b的限制,改一下查询的区间就行了 代码 #include<cstdio> #include<algorithm>…
#2013. 「SCOI2016」幸运数字 题目描述 A 国共有 n nn 座城市,这些城市由 n−1 n - 1n−1 条道路相连,使得任意两座城市可以互达,且路径唯一.每座城市都有一个幸运数字,以纪念碑的形式矗立在这座城市的正中心,作为城市的象征.一些旅行者希望游览 A 国.旅行者计划乘飞机降落在 x xx 号城市,沿着 x xx 号城市到 y yy 号城市之间那条唯一的路径游览,最终从 y yy 城市起飞离开 A 国. 在经过每一座城市时,游览者就会有机会与这座城市的幸运数字拍照,从而将这…