湖南集训day3】的更多相关文章

难度:☆☆☆☆☆☆☆ 此时相望不相闻,愿逐月华流照君 /* 23 233 223 啦啦啦德玛西亚 */ #include<iostream> #include<cstdio> #include<cstring> #define N 1000007 using namespace std; int n,m,ans; char a[N]; int main() { freopen("trans.in","r",stdin); freo…
[LOJ6067][2017 山东一轮集训 Day3]第三题 FFT 题目大意 给你 \(n,b,c,d,e,a_0,a_1,\ldots,a_{n-1}\),定义 \[ \begin{align} x_k&=b\times c^{4k}+d\times c^{2k}+e\\ f(x)&=\sum_{i=0}^{n-1}a_ix^i \end{align} \] 求 \(f(x_0),f(x_1),\ldots,f(x_{n-1})\). 对 \({10}^6+3\) 取模. 题解 直接多…
[LOJ#6066]「2017 山东一轮集训 Day3」第二题(哈希,二分) 题面 LOJ 题解 要哈希是很显然的,那么就考虑哈希什么... 要找一个东西可以表示一棵树,所以我们找到了括号序列. 那么二分一个答案\(d\),把所有点挂到\(d+1\)次祖先上去,那么\(d+1\)次祖先的哈希值就是它原本的括号序列挖去了若干段,直接暴力哈希拼接起来就好了. #include<iostream> #include<cstdio> #include<cstdlib> #inc…
题面:P3899 [湖南集训]谈笑风生 题解: 我很喜欢这道题. 因为A是给定的,所以实质是求二元组的个数.我们以A(即给定的P)作为基点寻找答案,那么情况分两类.一种是B为A的父亲,另一种是A为B的父亲. 第一种情况很好处理,写法见代码,懒得讲,反正很简单的. 第二种情况的话,按Dfs序建主席树,用主席树维护下标为Dep的序列,每次用Size-1(因为不能取本身:Size[i]即为以i为根的子树节点数)去更新, 询问的时候在以A为根的子树中查找Dep[A]+1~Dep[A]+K的和即可. 不思…
P3900 [湖南集训]图样图森破 链接 分析: 感觉像个暴力. 可以枚举回文串的回文中心,即枚举一个串,枚举一个串的位置作为回文中心,然后求出这个串内的回文串的长度. 此时如果回文串两端都没有到这个串的端点,那么以这个点作为回文中心的长度就直接算出来了. 如果回文串的长度刚好是这个串的长度,那么INF. 如果回文串一侧到了端点,那么枚举所有串,看看能否加到另一侧,来构成回文串.此过程记忆化搜索即可. 复杂度$O(nL \log nL)$ 代码: #include<cstdio> #inclu…
自闭集训 Day3 字符串 SAM 考虑后缀树. SAM的parent树是反串的后缀树,所以后面加一个字符的时候相当于往串前面加一个字符,恰好多出了一个后缀. 于是可以以此来理解SAM. 每一条路径对应原串的一个子串. 每一个终止节点对应一些后缀. 所有到同一个点的路径对应的子串互为后缀,长度连续. parent树是反串的后缀树. SAM可以用来构造SA.(???) 回文树 一个串的本质不同的回文子串的个数是\(O(n)​\)的. 每个点只表示一个回文串. SAM和回文树的复杂度都是均摊的,所以…
自闭集训 Day3 图论 NOI2019 D2T1 没有真正建出图来的必要,可以直接打取\(\min\)的\(tag\). 也可以把边压进堆里,然后变成一个二维清点问题(???),然后就线段树+并查集(???). POI 2014/2015 某题 类似于GDOI2019,线段树或者堆直接做. Gym101372 E 首先肯定要缩点. 给每个点赋一个随机权值,然后把每一个点的权值更新成能到的所有的点权值的min. 由于\([0,1]​\)的\(n​\)个随机权值的\(\min ​\)期望是\(\f…
Day3——作死不可活的一天 Day3 今天下午才考 晚上时间少 下午网每断 因此我是PY的 然后被抓了 成绩做0分处理. 是啊,我只会抄题解. 其他什么都不会. 一无是处. 真的. 真实能力:rank倒数 T1 [P1881] 绳子对折 这道题考思维 一句话:枚举每个节,或者节与结点之间的中点,然后两边伸展,看结每一小段的长度是否一致. 预估分:100分 实际分:100分 T2 Anger's Bessie 一开始以为是贪心 xry大佬告诉我说是背包 然后就打了背包 预估分:100分 实际分:…
今天的收获还是蛮大的,终于体会了一波在知识的海洋中遨游的美滋滋的快感. T1:给你N个点的位置和他们的速度,这些点向一个方向移动,求前M次超越者的集合A和被超越者的集合B(集合为这些点的速度),以及从A和B中各取一个并相乘,第k小的那个积. 数据范围:N<=1e5,M<=1e5,K<=M*M,起始位置和速度<=1e9 emmmm,写的是10分的暴力,可是出了一些奇奇怪怪的问题没有拿到这十分. 10分:直接暴力的算出交点,并且排序即可. 30分:在算交点前二分出一个时间,让算出的每次…
Day3数据结构,强无敌. 基本讲的是栈,队列,链表,都是些还会的操作,然后接着讲的就比较心凉凉了,先讲了堆,然后是hsah 栈,队列,链表问题都不大,笔记记得都还好,堆就凉凉了. 不会不会不会,没学过没学过没学过,现在只知道堆是一个“父亲都比儿子小”或是“父亲都比儿子大”的完全二叉树,书上也没有…网太差,课件也下不下来,就很凉…..有空慢慢学吧… Hash,不会,凉凉. 下午考题还是非常良心 T1,一眼模拟可做,但是因为老师数据错了(老师以为是合并果子),然后爆0,然而老师说是我们理解错了.…