开始填连通分量的大坑了= = 然后平面图有个性质m<=3*n-6..... 由平面图的欧拉定理n-m+r=2(r为平面图的面的个数),在极大平面图的情况可以代入得到m=3*n-6. 网上的证明(雾?): http://blog.chinaunix.net/uid-26510579-id-3183558.html http://www.zybang.com/question/673815bbe56e8b5639f95234b515b8c5.html 这题把哈密顿回路看成圆,就变成圆上的点之间的边是…
http://www.lydsy.com/JudgeOnline/problem.php?id=1997 如果两条边在环内相交,那么一定也在环外相交 所以环内相交的两条边,必须一条在环内,一条在环外 这就成了2-sat问题 时间复杂度为(T*(m^2+n)),T 飞 平面图有一个结论:边数<=点数*3-6 m就与n同阶了 判断两条边是否在环内相交: 设一条边为(ui,vi),一条半为(uj,vj) 且 u在环上的编号<v 如果 ui<uj<vi<vj,则两条边会在环内相交 #…
1997: [Hnoi2010]Planar Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 2317  Solved: 850[Submit][Status][Discuss] Description Input Output Sample Input 2 6 9 1 4 1 5 1 6 2 4 2 5 2 6 3 4 3 5 3 6 1 4 2 5 3 6 5 5 1 2 2 3 3 4 4 5 5 1 1 2 3 4 5 Sample Outp…
题目链接 BZOJ1997 题解 显然相交的两条边不能同时在圆的一侧,\(2-sat\)判一下就好了 但这样边数是\(O(m^2)\)的,无法通过此题 但是\(n\)很小,平面图 边数上界为\(3n - 6\),所以过大的\(m\)可以判掉 #include<algorithm> #include<iostream> #include<cstring> #include<cstdio> #include<cmath> #include<ma…
题意:给你一个哈密顿图,判断是不是平面图 思路:先找出哈密顿图来.哈密顿回路可以看成一个环,把边集划分成两个集合,一个在环内,一个在外.如果有两条相交边在环内,则一定不是平面图,所以默认两条相交边,转化成2——sat,两条边不能同时在内或外,注意双向加边.(以边来转化成两倍) #include<cstdio> #include<cstring> #include<iostream> #include<queue> #include<stack>…
2-SAT. 首先有平面图定理 m<=3*n-6,如果不满足这条件肯定不是平面图,直接退出. 然后构成哈密顿回路的边直接忽略. 把哈密顿回路当成一个圆, 如果俩条边交叉(用心去感受),只能一条边在圆内,另一条在圆外. 这个是2-sat的A,B要不同时取,要不同时不取模型. 如果俩个交叉,只能一个在内,一个在外. 和A,B俩者不能同时取有区别,需要注意. 可能存在3个方案(A,B'),(B,A'),(A',B'). 连方案都不要,直接tarjan完就过了. #include<cstdio>…
题目 输入格式 第一行给出三个正整数 N, R, C. 以下 N 行,每行给出一扇传送门的信息,包含三个正整数xi, yi, Ti,表示该传送门设在位于第 xi行第yi列的藏宝宫室,类型为 Ti.Ti是一个1~3间的整数, 1表示可以传送到第 xi行任意一列的"横天门",2表示可以传送到任意一行第 yi列的"纵寰门",3表示可以传送到周围 8格宫室的"ziyou门". 保证 1≤xi≤R,1≤yi≤C,所有的传送门位置互不相同. 输出格式 只有一…
用read()会挂 二分半径,显然最优的是所有原都用这个最小半径,然后2-SAT把相交的圆建图,跑tarjan判一下可行性即可 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> using namespace std; const int N=205; int n,h[N],cnt,dfn[N],low[N],tot,s[N],top,bl[N],col; bool v…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1997 神奇的经典2-SAT问题! 对于两个相交的区间,只能一里一外连边,所以可以进行2-SAT问题的建模: 但 m 太大了,可以用一个平面图的定理,m <= 3*n - 6 来缩小范围: 注意特判要等读入结束后再判掉!!! 代码如下: #include<iostream> #include<cstdio> #include<cstring> using na…
[BZOJ1997][Hnoi2010]Planar Description Input Output Sample Input 2 6 9 1 4 1 5 1 6 2 4 2 5 2 6 3 4 3 5 3 6 1 4 2 5 3 6 5 5 1 2 2 3 3 4 4 5 5 1 1 2 3 4 5 Sample Output NO YES 题解:跟POJ的某熊猫题一模一样?(然而我并没有写那题的题解~) 本题可以理解为圆上有一些点之间要连线,这些线要么在圆里要么在圆外,问能否让所有的线都不…
题目连接 [洛谷传送门] [LOJ传送门] 题目描述 某军搞信息对抗实战演习,红军成功地侵入了蓝军的内部网络,蓝军共有两个信息中心,红军计划在某台中间服务器上安装一个嗅探器,从而能够侦听到两个信息中心互相交换的所有信息,但是蓝军的网络相当的庞大,数据包从一个信息中心传到另一个信息中心可以不止有一条通路.现在需要你尽快地解决这个问题,应该把嗅探器安装在哪个中间服务器上才能保证所有的数据包都能被捕获? 题解 题目给我们的第一感觉就是,这个点一定是割点. 终点(y)的dfn应该大于等于v点的dfn,因…
似乎我搞得太复杂了? 先tarjan缩点然后dfs就行了QAQ. (我不说我被一个sb错调了半个小时....不要以为缩点后dfs就可以肆无忌惮的不加特判判vis了.. bfs的做法:减反图,然后从大到小枚举(贪心),标记即可 #include <cstdio> #include <cstring> #include <cmath> #include <string> #include <iostream> #include <algorit…
[洛谷P2515][HAOI2010]软件安装 题目描述 现在我们的手头有N个软件,对于一个软件i,它要占用Wi的磁盘空间,它的价值为Vi.我们希望从中选择一些软件安装到一台磁盘容量为M计算机上,使得这些软件的价值尽可能大(即Vi的和最大). 但是现在有个问题:软件之间存在依赖关系,即软件i只有在安装了软件j(包括软件j的直接或间接依赖)的情况下才能正确工作(软件i依赖软件j).幸运的是,一个软件最多依赖另外一个软件.如果一个软件不能正常工作,那么它能够发挥的作用为0. 我们现在知道了软件之间的…
[洛谷P2783] 有机化学之神偶尔会做作弊 题目背景 XS中学化学竞赛组教练是一个酷爱炉石的人. 有一天他一边搓炉石一边监考,而你作为一个信息竞赛的大神也来凑热闹. 然而你的化竞基友却向你求助了. "第1354题怎么做"<--手语 他问道. 题目描述 你翻到那一题:给定一个烃,只含有单键(给初中生的一个理解性解释:就是一堆碳用横线连起来,横线都是单条的). 然后炎魔之王拉格纳罗斯用他的火焰净化了一切环(???).所有的环状碳都变成了一个碳.如图所示. 然后指定多组碳,求出它们之…
[洛谷5008]逛庭院(Tarjan,贪心) 题面 洛谷 题解 如果图是一个\(DAG\),我们可以任意选择若干个不是入度为\(0\)的点,然后把它们按照拓扑序倒序删掉,不难证明这样一定是合法的. 现在的问题是出现了\(SCC\),我们缩点之后\(SCC\)形成了一个\(SCC\),我们还是贪心考虑,显然不是入度为\(0\)的\(SCC\)仍然可以类似上面的任意删点,只需要按照\(SCC\)的拓扑序倒序处理,对于入度为\(0\)的\(SCC\),至少要留下一个点,那么这样子就可以判断了. #in…
bzoj1997 [HNOI2010]平面图判定Planar 链接 bzoj luogu 思路 好像有很多种方法过去.我只说2-sat 环上的边,要不在里面,要不在外边. 有的边是不能同时在里面的,可以O(m^2)的连边 但是m是10000,不过平面图内边数不得超过3*n-6, m太大的直接NO就好了,其他的n,m是一个数量级的,直接2-sat暴力连边做就好了. 细节 双向边 是边m进行2-sat,不是点n 代码 #include <bits/stdc++.h> using namespace…
本文地址 分享提纲: 1. Java程序特点 1.1 基本语法 1.2 字符串 1.3 变量 1.4 Java数组 1.5 Java枚举 1.6 Java修饰符 1.7 Java编译制定在制定目录 2. Java面向对象 2.1 Java类和对象 2.2 类的一些注意点 2.3 Java Number类 2.4 Java Character 类 2.5 Java String 类 2.6 Java StringBuffer 和 StringBuilder 类 2.7 Java 数组 2.8 Ja…
本系列文章主要索引如下: 一.ETL利器Kettle实战应用解析系列一[Kettle使用介绍] 二.ETL利器Kettle实战应用解析系列二 [应用场景和实战DEMO下载] 三.ETL利器Kettle实战应用解析系列三 [ETL后台进程执行配置方式] 本文主要阅读目录如下: 1.Kettle概念 2.下载和部署 3.Kettle环境配置 4.Kettle使用及组件介绍 ETL(Extract-Transform-Load的缩写,即数据抽取.转换.装载的过程),对于企业或行业应用来说,我们经常会遇…
平面图中E ≤ V*2-6.. 一个圈上2个点的边可以是在外或者内, 经典的2sat问题.. ------------------------------------------------------------------------------------------ #include<cstdio> #include<cstring> #include<algorithm> #include<stack>   using namespace std;…
模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才能完成(函数又可以在不同的.py文件中),n个 .py 文件组成的代码集合就称为模块. 如:os 是系统相关的模块:file是文件操作相关的模块 模块分为三种: 自定义模块 第三方模块 内置模块 1.定义模块 情景一: 情景二: 情景三: 2.导入模块 Python之所以应用越来越广泛,在一定程度上…
1997: [Hnoi2010]Planar 链接 分析: 首先在给定的那个环上考虑进行操作,如果环内有有两条边相交,那么可以把其中的一条放到环的外面去.所以转换为2-sat问题. 像这样,由于1-4和2-3在环内相交了,所以可以把1-4放到环外,就变成了下图. 代码: #include<cstdio> #include<algorithm> #include<cstring> #include<iostream> #include<cmath>…
传送门:http://poj.org/problem?id=2947 Widget Factory Time Limit: 7000MS   Memory Limit: 65536K Total Submissions: 7109   Accepted: 2496 Description The widget factory produces several different kinds of widgets. Each widget is carefully built by a skill…
[洛谷P2921] [USACO08DEC]在农场万圣节Trick or Treat on the Farm 题目描述 每年,在威斯康星州,奶牛们都会穿上衣服,收集农夫约翰在N(1<=N<=100,000)个牛棚隔间中留下的糖果,以此来庆祝美国秋天的万圣节. 由于牛棚不太大,FJ通过指定奶牛必须遵循的穿越路线来确保奶牛的乐趣.为了实现这个让奶牛在牛棚里来回穿梭的方案,FJ在第i号隔间上张贴了一个"下一个隔间"Next_i(1<=Next_i<=N),告诉奶牛要去…
[洛谷P1262] 间谍网络 题目描述 由于外国间谍的大量渗入,国家安全正处于高度的危机之中.如果A间谍手中掌握着关于B间谍的犯罪证据,则称A可以揭发B.有些间谍收受贿赂,只要给他们一定数量的美元,他们就愿意交出手中掌握的全部情报.所以,如果我们能够收买一些间谍的话,我们就可能控制间谍网中的每一分子.因为一旦我们逮捕了一个间谍,他手中掌握的情报都将归我们所有,这样就有可能逮捕新的间谍,掌握新的情报. 我们的反间谍机关提供了一份资料,包括所有已知的受贿的间谍,以及他们愿意收受的具体数额.同时我们还…
题意: 有n头奶牛,然后有个规则是A->B,B->C,那么A->C: A觉得B受欢迎,B觉得C受欢迎,那么A觉得C受欢迎: 求:被其他所有牛都欢迎的牛的数量: 思路: 原来的思路: 我们只要在缩点之后的图中,找出出度为0的点,然后输出它里面的点就可以了.[虽然AC了] 然后我觉得这样不是会有缺陷么?他可能入度也为0呢?也就是缩点后那个出度为0点是独立的.所以还是要判断入度吧. 后来其实没必要入度,我们继续查看其他出度为0的点,如果存在的话那肯定是有独立的部分,然后如果没有的话,嘿嘿,那么…
String.format()[示例详解] 整理者:Vashon 前言: String.format 作为文本处理工具,为我们提供强大而丰富的字符串格式化功能,为了不止步于简单调用 String.format("Hello %s", "Vashon"); ,下面将笔记整理并记录下来. 方法重载: // 使用当前本地区域对象(Locale.getDefault())格式化字符串 String String.format(String fmt, Object... ar…
2014.5.16 为了验证一下下载的CM11的源码有没有问题,决定编译一下cm官方支持的机器,手上正好有台nexus7 2012,就拿它为例测试一下在mac os x平台的整个编译过程. 1. 最开始,是在os x下面搭编译环境,以前有说过的,详见xda这个帖子.http://forum.xda-developers.com/showthread.php?t=2510898 这个wiki里面写的是在linux下面编译n7的方法,还是比较详细的,建议先通读一下,对于在os x下搭编译环境也是很有…
[模板整合计划]图论-有向无环图 (DAG) 与树 一:[拓扑排序] 最大食物链计数 \(\text{[P4017]}\) #include<cstring> #include<cstdio> #include<queue> #define Re register int using namespace std; const int N=5003,M=5e5+3,inf=2e9,P=80112002; int n,m,x,y,o,ans,dp[N],ru[N],chu[…
说17号发超简单的教程就17号,qq核审通过后就封装了这个,现在放出来~~ 这个是我封装的一个开源项目:https://github.com/dunitian/LoTQQLogin ———————————————————————————————————————————— 先申请一下 创建一个应用 网站或者移动 注意回调地址(登录的时候会传东西过去) 以网站为例 验证后即可成功,具体看创建时候的提示 记住上面的id 这个是你的api管理页面(更多可以申请) 下面说一下重头戏: 第一步:引入jq<s…
本文地址 分享提纲 1.数组篇 2.字符创篇 3.函数篇 4.面向对象篇 5.其他篇 /*************************** 一.数组篇 Begin**************************/ 一. 数组篇 1. 从PHP数组中删除一个元素 1)unset但是不会重建索引 array_splice() 会重建索引 2. [输入数组中某个单一列的值] 1)array_column() <?php // 表示由数据库返回的可能记录集的数组 $a = array( arra…