题面 横的,竖的线短段,求最多能取几条没有相交的线段? 思路 学过网络流的童鞋在哪里? 是时候重整网络流雄风了! 好吧,废话不多说 这是一道最小割的题目 怎么想呢? 要取最多,那反过来不就是不能取的要尽量少吗? 深思熟虑一番后,符合网络流中的最小割,于是开码 哦,还没完! 建边是关键! 由于只有方向不同的线段才会互相影响,所以考虑在方向不同时建边 由于最小割的用途是使图不连通,所以我们把横的线段与源点相连,竖的线段与汇点相连(相反也可以),在有相交的线段之间建一条边,表示能连通,这样就变成了求最…
P3033 [USACO11NOV]牛的障碍Cow Steeplechase 题意 题目描述 --+------- -----+----- ---+--- | | | | --+-----+--+- | | | | | | | --+--+--+-+- | | | | | ---------- ----------- ------- | | | | | | | | | | | | | | | | | | | 给出\(N\)平行于坐标轴的线段,要你选出尽量多的线段使得这些线段两两没有交点(顶点也算…
题目描述 Farmer John has a brilliant idea for the next great spectator sport: Cow Steeplechase! As everyone knows, regular steeplechase involves a group of horses that race around a course filled with obstacles they must jump over. FJ figures the same co…
题目描述 Farmer John has forgotten to repair a hole in the fence on his farm, and his N cows (1 <= N <= 1,000) have escaped and gone on a rampage! Each minute a cow is outside the fence, she causes one dollar worth of damage. FJ must visit each cow to i…
P2906 [USACO08OPEN]牛的街区Cow Neighborhoods 题目描述 Those Who Know About Cows are aware of the way cows group into 'Cow Neighborhoods'. They have observed Farmer John's N (1 <= N <= 100,000) cows (conveniently numbered 1..N) as they graze, each at her own…
「SHOI2016」黑暗前的幻想乡 sb题想不出来,应该去思考原因,而不是自暴自弃 一开始总是想着对子树做dp,但是状态压不起去,考虑用容斥消减一些条件变得好统计,结果越想越乱. 期间想过矩阵树定理,但没想清楚又被我忽略了. 其实非常简单 你对着所有的东西跑一遍生成树计数,然后你发现统计了同一个施工队的方案,然后发现可以枚举子集,就是个sb容斥了 Code: #include <cstdio> #include <cctype> #include <algorithm>…
「ZJOI2015」地震后的幻想乡 想了半天,打开洛谷题解一看,最高票是_rqy的,一堆密密麻麻的积分差点把我吓跑. 据说有三种解法,然而我只学会了一种最辣鸡的凡人解法. 题意:给一个无向图\(G\),边权为\([0,1]\)间的实数,求这个图的最小生成树的最大边权期望. 提示:对于 \(n\) 个 \([0,1]\) 之间的随机变量 \(x_1,x_2,\dots,x_n\),第 \(k\) 小的那个的期望值是 \(\frac{k}{n+1}\). 考虑使用这个提示来帮助解题. 首先有一个暴力…
#2211. 「SCOI2014」方伯伯的玉米田 发现是取一个最长不下降子序列 我们一定可以把一个区间加的右端点放在取出的子序列的最右边,然后就可以dp了 \(dp_{i,j}\)代表前\(i\)个玉米田末尾为\(i\)拔高过\(j\)次的最大答案 \[ dp_{i,j}=\max dp_{k,l}+1(k<i,h_i+j\ge h_k+l) \] 发现可以维护的样子 维护一个\(f_{i,j}\)表示小于等于\(i\)高度(拔过后)拔的次数小于等于\(j\)次的最大值 直接二维树状数组搞就行了…
洛谷传送门 题目描述: 给出N平行于坐标轴的线段,要你选出尽量多的线段使得这些线段两两没有交点(顶点也算),横的与横的,竖的与竖的线段之间保证没有交点,输出最多能选出多少条线段. 因为横的与横的,竖的与竖的没有交点,所以直接把相交的线段相连,然后肯定是个二分图. 选出多少个线段,就是求二分图的最大独立集,等于节点数(N) - 最大匹配数. 由于线段的4个坐标太大 (X1_i, Y1_i) and (X2_i, Y2_i) (1 <= X1_i, Y1_i, X2_i, Y2_i <= 1,00…
洛谷传送门 题目描述: 给出N平行于坐标轴的线段,要你选出尽量多的线段使得这些线段两两没有交点(顶点也算),横的与横的,竖的与竖的线段之间保证没有交点,输出最多能选出多少条线段. 因为横的与横的,竖的与竖的没有交点,所以直接把相交的线段相连,然后肯定是个二分图. 选出多少个线段,就是求二分图的最大独立集,等于节点数(N) - 最大匹配数. 由于线段的4个坐标太大 (X1_i, Y1_i) and (X2_i, Y2_i) (1 <= X1_i, Y1_i, X2_i, Y2_i <= 1,00…