中文题 题意略学2-sat啦啦啦2-sat就是 矛盾的 ($x、x’$不能同时取) m对人 相互也有限制条件 取出其中n个人也有可能是把一件东西分成 取/不取 相矛盾的两种情况 (那就要拆点啦~) 取其中n件做法是 暴力 和 强连通 两种重点在于建图:对于x,记 取 为 $x$, 不取 为$x’$....
分类:
其他好文 时间:
2015-08-17 21:36:53
阅读次数:
136
设定每个节点的上限和下限,之后向上更新,判断是否出现矛盾 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 using namespace std; 9 #define MOD 1000000...
分类:
其他好文 时间:
2015-08-17 16:59:09
阅读次数:
78
说到项目经理岗位,一般的想法是,一个项目只能有一个项目经理,否则责任不明,互相推诿。偏偏IT项目需要有两个甚至三个项目经理。原因何在呢?典型的IT项目(不包含纯技术或工具类项目)是把用户的需求转化成一个IT系统的实现。这就存在着一对矛盾,即需求与实现的矛盾。需求不确定,方案就无法展开,需求范围变.....
分类:
其他好文 时间:
2015-08-17 13:54:23
阅读次数:
114
模拟考试的时候由于前面的题耗时太严重,所以没有写
对于第一行的每个城市,我们可以预处理出在这座城市建立蓄水厂,水流能到达最下面一行的哪些城市;如果最终的题目是有解的,那么最后一行这些被覆盖的城市是连续的,反证:如果水流到达最下面一行的城市是断开不连续的,则说明中间有城市海拔比四周都高,其他城市过来的水流也流不上去,因此永远无法被覆盖,与我们之前的条件相矛盾。
预处理出来每做城市的覆盖范围后,这...
分类:
其他好文 时间:
2015-08-16 23:17:24
阅读次数:
122
考试的时候写的最大生成树,然后二分图染色,因为这样两个矛盾很大的罪犯不会被分在一个监狱里面。
然而最大生成树超时,80分。
正解为二分边权,将边权值大于mid的全部连边构图,判断是否为二分图,如果不是二分图,那么无解。
如果无解,则说明边权的限制条件太小了,因为连的边太多,不容易形成二分图;如果有解,则说明边权的限制条件太大,因为更少的边有利于形成二分图。
80分代码,最大生成树:
#i...
分类:
其他好文 时间:
2015-08-16 21:28:15
阅读次数:
116
这道题《挑战程序设计》这本书上有详细讲解。对于每一只动物,我们创建3个元素:i-1,i-2,i-3。同时使用一个N*3的并查集维护。
i-1表示i是1物种。并查集中每个集合中的元素表示组内情况同时发生或者同时不发生。
那么对于2种输入,我们可以按照如下的方式维护:
对于a和b是同一类:合并a-1与b-1,a-2与b-2,a-3与b-3;
对于a吃b:合并a-1与b-2,a-2与b-3,a-3与b-1。
合并前要先检查是否矛盾,如对应a与b同一类,如果a-1和b-2在同一集合中,则为假话。...
分类:
其他好文 时间:
2015-08-16 00:44:44
阅读次数:
86
题目地址:POJ 1094
题意:题目样例的三种输出分别是:1. 在第x个关系中可以唯一的确定排序,并输出。2. 在第x个关系中发现了有回环(Inconsisitency矛盾)3.全部关系都没有发现上面两种情况,输出第3种.
思路:注意两点1. 输入一条边时如果此时拓扑有解就输出这个解,即使后面的边成有向环也不管了,所以每次输入的时候都得进行拓扑排序。2. 判断存在有向环应先于判断多解。#inc...
分类:
编程语言 时间:
2015-08-14 19:22:22
阅读次数:
200
因为耽误了网络同步赛,所以在奖金一个月后进行了NOI的测试。DAY1T1程序自动分析题目大意:给定一些变量相等或不等的关系,判断是否矛盾。思路:离散化后,并查集维护一下。水水的开始。#include#include#include#include#define maxnode 200005using...
分类:
其他好文 时间:
2015-08-14 18:43:03
阅读次数:
174
在《敏捷软件开发-原则、模式与实践》一书中,对开放闭合原则的定义为:
软件实体(类、模块、函数等)应该是可以扩展的,但是不可以修改。
简言之,两个特征:
1、对于扩展是开放的;
2、对于修改是关闭的
这两点特征貌似自相矛盾,怎么样在不改动模块源码的情况下去更改他的行为呢?如果不更改一个模块,又怎么能够去改变它的功能呢?
答案很简单,就是抽象。模块可能对抽象体进行操作。由于模块依赖于一个...
分类:
其他好文 时间:
2015-08-13 18:15:48
阅读次数:
179
【1】最短路如何建图?
差分约束系统是{di-dj
考虑将di-dj=di,
∴结点i要满足所有的结点j的dj+u>=di,
那么必须至少取到min(dj+u),如果取得更大,就会矛盾。
于是这样就可以建最短路,求出一组取值。
【2】这组取值有什么意义?
它通过最短路得到。
刚好满足了所有条件,约束得最紧密。
也就是说,它不唯一,任意的di可能可以更小,相对差就会变大。
...
分类:
其他好文 时间:
2015-08-08 15:02:47
阅读次数:
93