首页 > TAG信息列表 > sze
[游记]来自学长的馈赠6-2022.7.29
为大家激情上演爆零秀! T3 和 T4 全写的是正解,并且得到学长的认可 T3 因为哈希冲突挂了,T4 更加奇妙,因为连通块的 $id$ 没加爆了个零 挂了 $200$ 分,最后得分 $100/400$ 真的,以后再用哈希我是狗 开心 ^_^ A. ^_^ B. 软件包管理器 C. 地理课 D. 道路和航线 A.^_^ 一开始看到P3250 [HNOI2016] 网络 (树剖+堆)
本题有插入路径和删除路径,在每个节点维护插入堆和删除堆,查询时两者top一样则一直弹出。如果每个节点维护的是经过他的路径,显然有些不好处理,正难则反,每个点维护不经过他的路径,那么x节点出了故障时,我们就查询x,查询到的就是x出故障后不受影响的路径。 (洛谷上有一个点一直过不了,似乎是「BalticOI 2020」小丑
预处理出 \(f_i\) 表示最大的使得在加入所有 \([1,i)\or [j,m]\) 中的边后存在奇环的最大 \(j\)。 显然 \(f\) 满足单调性,于是可以整体二分。 对于分治区间 \([l,r]\),已知所有 \(\{f_l...f_r\}\in [x,y]\),那么暴力计算出 \(f_{mid}\),然后递归分治。 暴力计算时用并查集判断奇环即P5689 [CSP-S2019 江西] 多叉堆
试着推了一下静态树的做法,推挂了。。。 考虑一个点接到另一个点会怎么样。 肯定要乘上两边的答案 \(ans_x\times ans_y\)。 然后发现有一部分分在新子树上,其余部分分在其他子树上。由于只考虑大小关系,所以 \(1 2 3\) 和 \(233 114514 1919810\) 本质上是一样的。对于两种堆不同当CF877E Danil and a Part-time Job
维护子树和。dfs序就搞定。树剖用不上。 记得,取反时标记取反而不是打上! #include<bits/stdc++.h> using namespace std; const int maxn=2e5+5; int sze[maxn],dfn[maxn],rev[maxn]; int xds[maxn<<2],tag[maxn<<2]; int a[maxn]; int n,m; vector<int> e[maxn]; void dfs(int u,iBZOJ-2152 聪聪可可
题面 Description 聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰棍而两人都想吃、两个人都想玩儿电脑(可是他们家只有一台电脑)……遇到这种问题,一般情况下石头剪刀布就好了,可是他们已经玩儿腻了这种低智商的游戏。他们的爸爸快被他们的争吵烦死了,所以他POJ-2114 Boatherds
题面 太长了不放了 链接:https://vjudge.net/problem/POJ-2114 题意 给定一颗树,m次询问,每次询问是否有路径长度为k的树 题解 和上题差不多,我们可以顺便把路径长度等于k的路径有多少条也算出来,大于0就有,等于0就没有 方法也是和上题一样,这题可以先合并长度相等的路径,然后two pointer[BZOJ4025]二分图(线段树分治+并查集)
Solution 以时间 \([0..T]\) 为下标建一棵线段树 线段树上的每个区间维护一个边集 对于一条边 \(i\),它存在的时间区间为: \([start_i,end_i-1]\) 把 \([start_i,end_i-1]\) 区间拆成线段树上的 \(O(\log T)\) 个区间 并且把边 \(i\) 丢进这些区间的边集 然后把整棵线段树 \(dfs\)一款AI芯片惊艳亮相亚马逊神秘大会,麻省理工挑战未来AI硬件
近日,亚马逊一年一度的、神秘的 MARS 大会在加利福尼亚州棕榈泉市如期举行。 亚马逊 MARS 大会是一个只有受邀才能参加的高端会议,在棕榈泉市这个奢华的度假胜地,你能看到大量机器人或漫步或飞行,并有机会与众多著名科学家和科幻作家们交流。大会上,只有少数研究人员会被邀请来[EOJ629] 两开花
Description 给定一棵以 \(1\) 为根 \(n\) 个节点的树。 定义 \(f(k)\) :从树上等概率随机选出 \(k\) 个节点,这 \(k\) 个点的虚树大小的期望。 一个点 \(x\) 在这些被选出的 \(k\) 个点的虚树上,当且仅当它满足下列条件至少一个: \(x\) 被选出。 存在两个被选出的节点 \(a,b\),使得 \(