摘要:
"题目链接" $Description$ 一个圆上顺序排列0,1,...,n 1共n个点,给出m条线段,线段可以从里面连也可以从外面连,问是否能满足所有线段不相交 $Solution$ 把每条线段看做一个点,只有在圆外和在圆内两种情况,于是可以把线段拆成i,i',分别表示两种情况 对于端点相交的线段 阅读全文
摘要:
题目链接 构建完MST后,枚举非树边(u,v,w),在树上u->v的路径中找一条权值最大的边(权为maxn),替换掉它 这样在 w=maxn 时显然不能满足严格次小。但是这个w可以替换掉树上严格小于maxn的次大边 用倍增维护MST上路径的最大值、次大值,每条非树边的查询复杂度就为O(logn) p 阅读全文
摘要:
题目链接 \(Description\) 给定两边点数分别为$n,m$共有$n\times m$条边的完全二分图,求其生成树个数模$p$。 \(n,m,p\leq 10^{18}\)。 \(Solution\) 这是完全二分图,那么在构造Prufer序列时,最后会剩下两个点,两点的边是连接两个集合的 阅读全文
摘要:
"题目链接" 猴子之间的打架是棵无根树,有$n^{n 2}$种可能;同时n 1个过程的排列是$(n 1)!$ 阅读全文
摘要:
"题目链接" 若点数确定那么ans = (n 2)!/[(d1 1)!(d2 1)!...(dn 1)!] 现在把那些不确定的点一起考虑(假设有m个),它们在Prufer序列中总出现数就是left=n 2 (d1 1) (d2 1) ... (dn 1) 这left个数本身又有m^{left}种 所 阅读全文
摘要:
题目链接 \(Description\) 有k种饮料,浓度Ai给出,求用最少的体积配成n/1000浓度的饮料。 \(Solution\) 根据题意有方程 \((A1*x1+A2*x2+...+An*xn)/[(x1+x2+...+xn)*1000] = n/1000\) xi表示Ai选多少升(\(0 阅读全文
摘要:
"题目链接" 先缩点,对于scc之间贡献即为szscc[i] szscc[j] 用f[i][j]表示scci是否能到sccj 拓扑排序,每次把now的f或上to的f 用bitset优化 cpp //63888kb 1080ms include include include include defi 阅读全文
摘要:
"题目链接" 日常水题 ~~还是忍不住吐槽这题奇怪的评价~~ cpp include include include define gc() getchar() // define gc() (SS==TT&&(TT=(SS=IN)+fread(IN,1,MAXIN,stdin),SS==TT)?E 阅读全文
摘要:
"题目链接" 二维莫队,按x,y坐标一起分块.(x,y)的所属的块为 x/sq(n) sq(m) + y/sq(m) 排序时按照(左下点所在块,右上点的标号)排序 排序后 先得出一个询问的答案,然后利用上一个询问的矩形与当前矩形位置关系更新答案 转移真的麻烦。。为了避免算重 一定要加个vis[][] 阅读全文