摘要:
/*翻译好题意 n个变量 不超过m*2句话*/ #include #include #include #include #define maxn 200010 using namespace std; int n,m,f[maxn],c,s[maxn],age[maxn],sum,a,b; vectorG[maxn]; bool Judge(int a,int b) { if(age[a... 阅读全文
摘要:
/* 裸地2-SAT问题 关键是模型转化 最小的最大 显然二分 关键是Judge的时候怎么判断 每个航班是早是晚直接影响判断 早晚只能选一个 如果我们定义bool变量xi表示 i航班是否早到 每个航班虚拟出两个点2*i 2*i+1 分别表示是否早到 然后就可以假设某个航班早到然后推导出一定连得某些边 然后就开始选点 尝试这个点选不选 看看最后是否合法 */ #include #include... 阅读全文
摘要:
/*每个环 要么不选 要么全选 可缩点 就得到一个GAD图 然后搞搞算出最大路径*/ #include #include #include #define maxn 100010 using namespace std; int T,n,m,num,head[maxn],low[maxn],dfn[maxn],s[maxn],top,vi[maxn]; int sum,belong[maxn],... 阅读全文
摘要:
/*哈哈我Tarjan套lca.. 丫输出case啥的没看见...*/ #include #include #include #define maxn 300010 using namespace std; int n,m,num,head[maxn],low[maxn],dfn[maxn],topt; int s[maxn],top,f[maxn],sum,belong[maxn],cnt,c... 阅读全文
摘要:
/*重边不能删 不能删 不能删...*/ #include #include #include #define maxn 10010 using namespace std; int n,m,num,head[maxn],low[maxn],dfn[maxn],topt; int top,s[maxn],f[maxn],ans,sum,belong[maxn],r[maxn]; struct n... 阅读全文