摘要:
分析: 本题妙就妙在没有直接计算每种深度,而是逐层扩展,考虑新增括号的方案贡献。因为假如外面有一层括号,那么所有区间内方案的深度都要加1,这个贡献是可以算的。 //Interval DP #include<bits/stdc++.h> #define int long long using name 阅读全文
摘要:
前言:本人发现做倍增的题完全是无从下手,所以补了之前两道倍增的题,现来讲讲思路。 专题:用倍增优化前缀pre数组(类似于lca) A.城市网络 分析:这道题没想到思路就很难做。 首先是一个树上倍增,这很明显。 思路一: f [ x ] [ y ] f[x][y] f[x][y]表示 x x x到 x 阅读全文
摘要:
#include<bits/stdc++.h> using namespace std; const int N=205; const int M=20005; void read(int &x) { int f=1;x=0;char c=getchar(); while(c<'0'||c>'9') 阅读全文
摘要:
问题描述 给定一张 N N N个点 M M M条边的无向图,求无向图的严格次小生成树。 设最小生成树的边权之和为 s u m sum sum ,严格次小生成树就是指边权之和大于 s u m sum sum的生成树中最小的一个。 引理 先建出一棵最小生成树,满足使用的边都是最小的,剩下的边(称为非树边 阅读全文