首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
BZOJ_2788_[Poi2012]Festival_差分约束+tarjan+floyed
】的更多相关文章
BZOJ_2788_[Poi2012]Festival_差分约束+tarjan+floyed
BZOJ_2788_[Poi2012]Festival_差分约束+tarjan+floyed Description 有n个正整数X1,X2,...,Xn,再给出m1+m2个限制条件,限制分为两类: 1. 给出a,b (1<=a,b<=n),要求满足Xa + 1 = Xb 2. 给出c,d (1<=c,d<=n),要求满足Xc <= Xd 在满足所有限制的条件下,求集合{Xi}大小的最大值. Input 第一行三个正整数n, m1, m2 (2<=n<=600,…
[Poi2012]Festival 差分约束+tarjan
差分约束建图,发现要在每个联通块里求最长路,600,直接O(n3) floyed #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<cmath> #define N 650 #define M 100050 using namespace std; int g[N][N],n,m1,m2,f[N],ans; int e=1,head…
bzoj 2788 [Poi2012]Festival 差分约束+tarjan+floyd
题目大意 有n个正整数X1,X2,...,Xn,再给出m1+m2个限制条件,限制分为两类: 1.给出a,b (1<=a,b<=n),要求满足Xa + 1 = Xb 2.给出c,d (1<=c,d<=n),要求满足Xc <= Xd 在满足所有限制的条件下,求集合{Xi}大小的最大值. 分析 差分约束,问题很新颖 注意到图有特殊性 限制1(1类边):双向边 限制2(2类边):单向边 我们考虑求强联通分量 连接两个强联通分量的边不可能是1类边(不然强联通就合起来了) 只可能是A&l…
洛谷P3275 [SCOI2011]糖果(差分约束,最长路,Tarjan,拓扑排序)
洛谷题目传送门 差分约束模板题,等于双向连0边,小于等于单向连0边,小于单向连1边,我太蒻了,总喜欢正边权跑最长路...... 看遍了讨论版,我是真的不敢再入复杂度有点超级伪的SPFA的坑了 为了保证复杂度,需要缩点后用拓扑排序统计答案.首先全相等的点本质上是相同的,可以缩到一起,所以先来一波Tarjan把0环全缩起来.接着再考虑边权为1的边.如果这时候还出现了环(包括缩点以后的自环),一定是不存在方案的,这是可以用拓扑排序判断.否则,就是个DAG,拓扑排序也可以直接计算出答案. 统计答案要注意…
【题解】 [POI2012]FES-Festival (差分约束)
懒得复制题面,戳我戳我 Question: (因为网上找不到好的翻译,这里简单复述一下) 告诉你\(m1+m2\)个约束条件,然后要你找出\(X_1-X_n\)这些数字,求满足要求的数列中不同的数字个数最多有多少个(exp:\(1,2,3,3,2\)里面就有三个不同的数) Solution: 首先的差分约束的连边很简单 for(int i=1;i<=m1;i++){ int x,y;scanf("%d%d",&x,&y); add(x,y,1);add(y,x,-…
BZOJ2330 糖果[差分约束方案+spfa?/tarjan]
以往对于差分约束理解不是太深,导致这题屡次被坑,在此记录一下细节的理解. 差分约束实际上就是利用了spfa的一个特性:只要有$dis_y>dis_x+w_{x,y}$就松弛,直到所有边关系都满足$dis_y\le dis_x+w_{x,y}$,而这一不等式恰好可以套在差分约束问题里.差分约束要求满足前面这个玩意,把每个变量的值看做$dis_i$,建边,跑spfa最短路,使得所有边都满足关系.这个之前就已经明白了. 但是忽视了一点:注意到跑出来的最短路中$dis$即为$x$的一组合法取值,并且这组…
【10.9校内练习赛】【搜索】【2-sat】【树链剖分】【A_star k短路】【差分约束+判负环】
在洛谷上复制的题目! P3154 [CQOI2009]循环赛 题目描述 n队伍比赛,每两支队伍比赛一次,平1胜3负0. 给出队伍的最终得分,求多少种可能的分数表. 输入输出格式 输入格式: 第一行包含一个正整数n,队伍的个数.第二行包含n个非负整数,即每支队伍的得分. 输出格式: 输出仅一行,即可能的分数表数目.保证至少存在一个可能的分数表. 输入输出样例 输入样例#1: 复制 6 5 6 7 7 8 8 输出样例#1: 复制 121 说明 N<=8 就是一个很暴力的搜索,然而在$vjudge$…
[luogu2474 SCOI2008]天平(floyd差分约束)
传送门 Solution 由于重量只有三种情况,那么想到用差分约束. 由于范围比较小,想到可以floyed求差分约束,暴力求天平另一边 Code #include <cstdio> #include <cstring> #include <cstdlib> #include <iostream> #include <algorithm> #define F(i,a,b) for(register int i=(a);i<=(b);i++)…
洛谷2474 [SCOI2008] 天平 差分约束->枚举
题目描述 你有n个砝码,均为1克,2克或者3克.你并不清楚每个砝码的重量,但你知道其中一些砝码重量的大小关系.你把其中两个砝码A 和B 放在天平的左边,需要另外选出两个砝码放在天平的右边.问:有多少种选法使得天平的左边重(c1).一样重(c2).右边重(c3)?(只有结果保证惟一的选法才统计在内) 输入输出格式 输入格式: 第一行包含三个正整数n,A,B(1<=A,B<=N,A 和B 不相等).砝码编号 为1~N.以下n行包含重量关系矩阵,其中第i行第j个字符为加号“+”表示砝 码i比砝码j重…
BZOJ4383 [POI2015]Pustynia[线段树优化建边+拓扑排序+差分约束]
收获挺大的一道题. 这里的限制大小可以做差分约束,从$y\to x$连$1$,表示$y\le x-1$即$y<x$,然后跑最长路求解. 但是,如果这样每次$k+1$个小区间每个点都向$k$个断点连边显然爆炸..考虑优化建边. 发现这里是每个小区间各点连边,所以可以线段树优化,不过每个小区间都要向$k$个点连边还是爆炸,这时候,考虑一种类似于线段树建边里面区间向区间的连边方式:这一边的各个拆分的小区间向一个虚点连边,这个虚点再向另一个区间拆分的小区间连边,保证了边数=区间数=$\log$级别.那这…