【csp模拟赛6】相遇--LCA】的更多相关文章

时间:2019.10.5 考试时间:100分钟(连正式考试时间的一半还没有到)题目:由于某些原因不能公开. 由于第一次接触NOIinux系统所以连怎么建文件夹,调字体,如何编译都不知道,考试的前半小时全在摸索这些. 等大概会用了就只剩下70min了.感觉要爆零. 我当时很着急T1:我用了个数学O(1)方法做了,但样例太水了,怕错(我当时哪有时间对拍)就写了一个70分O(nlogn)暴力兜底,果然那数学方法错了. 一看表,woc,只有40min了,赶紧看T2:算式还要用字符串读入在分拆,先把正好复…
对于30%的数据:暴力枚举判断 对于60%的数据:还是暴力枚举,把两条路径都走一遍计一下数就行,出现一个点被访问两次即可判定重合 对于100%的数据:找出每条路径中距离根最近的点(lca),判断这个点是否在另一条路径上即可 注意数组大小 代码: 烟火再美,总抵不过你的一往情深 #include<iostream> #include<algorithm> #include<cstdlib> #include<cstdio> #include<cstrin…
耐力OIer,一天7篇博客 题目描述 “特大新闻,特大新闻!全国爆发了一种极其可怕的病毒,已经开始在各个城市 中传播开来!全国陷入了巨大的危机!大量居民陷入恐慌,想要逃到其它城市以 避难!经调查显示,该病毒来自于C 市的A 学校的一次非法的……” “哎.”你关上电视,叹了口气.作为A 学校的校长,你一天前为了保命,独自 逃离了A 学校,抛弃了全校师生,包括那个曾经帮你计算并拆除道路的工程师. 你良心受到了巨大的谴责,因此决定做出一些补救,回答一些逃难的人提出的询 问. 已知该国一共有n 个城市,…
这道题也算是厉害了,改了整整俩小时最后发现是深信的LCA打错了,悲伤啊!信仰崩塌了! 顺便复习LCA,给出模板 void init(){//p[i][j]表示i节点2^j的祖先 int j; for(j=0;(1<<j)<=n;j++) pos(i,1,n) p[i][j]=-1; pos(i,1,n) p[i][0]=fa[i]; for(j=1;(1<<j)<=n;j++) pos(i,1,n) if(p[i][j-1]!=-1) p[i][j]=p[p[i][j-…
题目描述 Freda是一个迷宫爱好者,她利用业余时间建造了许多迷宫.每个迷宫都是由若干房间和走廊构成的,每条走廊都连接着两个不同的房间,两个房间之间最多只有一条走廊直接相连,走廊都是双向通过.  黄昏时候,Freda喜欢在迷宫当中漫步.每天,Resodo都会为Freda设计一个挑战方案.Resodo会指定起点和终点,请Freda来找到一条从起点到终点的简单路径.一条简单路径定义为一个房间序列,每个房间至多在序列里出现一次,且序列中相邻的两个房间有走廊相连.当起点和终点之间存在且仅存在一条简单路径…
Problem A 宇宙魔方 有一个$N \times N \times N$的魔方,每一次操作可以整体转动该魔方,也可以对于一层整体+X. 给出最后魔方的最终状态,其中有一个位置为-1.利用其它位置的信息输出这个-1具体表示的值. 对于$100\%$的数据满足$1 \leq n\leq 100$ Self-correction: 考场看错题,最后炸题,导致期望得分为0. 不能把问题看的太简单,该思考的时候还是得多思考. Solution1: 标程给的解答是,将x层y行z列的点染色成$(x+y+…
[题目描述] 在暑假来临之际,小 Z 的地理老师布置了一个暑假作业,让同学们暑假期间 了解一下 C 国的铁路发展史.小 Z 在多番查证资料后发现,C 国在铁路发展初期, 铁路网络有着一个严密规整的结构:C 国的 N 个城市按层级分为首都.省会.省 辖市……由于在铁路发展初期,建造铁路花费巨大,为了避免不必要的浪费,铁 路网络的建设保证了任意两个城市相互连通,且仅有一条连通路径. 随后,小 Z 还查阅到历年来铁道部向全国上下发布的大小消息.由于多年来 C 国货币系统保持健康的 3%通胀率带来了稳定…
这次由于有课迟到30min,了所以只考了70min. 调linux配置调了5min,只剩下65min了. T1:有点像标题统计,但要比他坑一点,而且我就被坑了,写了一个for(int i=1;i<=strlen(s);i++) 然后就T飞了.因为strlen不是O(1)的,所以应该先存一下在循环.只剩下55min T2:大模拟,但是我写了上百行代码还是挂了,人菜暴力是写不出来的.只剩下10min T3:发现开题时只剩10min,就相当慌张,然后试图大力才结论,结果错了... T4:写了个prin…
T1 题意: \(n\) 个人摘苹果,跳起高度为 \(a_i\),苹果高度为 \(h_i\),高度小的先摘,摘了就没了 直接排序+双指针,复杂度 \(O(n+m)\) T2 题意:要轰炸一个有向图的所有点,如果存在两个不同点 \(i\) 和 \(j\) ,并且 \(i\).\(j\) 连通 那么 \(i\) 和 \(j\) 不能在同一次轰炸,问最少要多少次轰炸 tarjan 缩点 + 找最长路.考试时没有想到要最长路,缩点不是很会处理重边 复杂度 \(O(n+m)\) #include<bits…
题目描述  要开运动会了,Freda承担起了制作全校旗帜的工作.旗帜的制作方法是这样的:Freda一共有C种颜色的布条,每种布条都有无数个,你可以认为这些布条的长.宽.厚都相等,只有颜色可能不同.每个旗帜都是由一些布条横向拼接起来的,如图所示,图上所示的是一面红.黄.蓝三种颜色布条拼接的旗帜: 就不给你看图 布条数目不同的旗帜显然是不同的.对于布条数目都为T的两面旗帜,如果存在从左到右第i(0<i<=N)个布条颜色不同,那么就认为这两面旗帜是不同的.旋转或翻转后才相同的旗帜被认为是不同的旗帜,…