题目大意:幼儿园老师给小盆友们发糖果。有5种要求,问老师最少需要准备多少糖果。如不能满足,输出-1。
思路:裸地差分约束系统,但是正向加边会T,需要反向加边。
CODE:
#include
#include
#include
#include
#include
#define MAX 400010
using namespace std;
int points...
分类:
其他好文 时间:
2014-11-03 17:54:30
阅读次数:
203
题目大意:给定n个点和之间的大小关系,求每个点最少是多少(必须大于0)
差分约束系统,按照题目说的连边即可,记住少于和不少于的大小关系是不一样的
边集要开3倍 此外注意的是0到i的连边要从后往前连 不然TLE 坑B数据逗死我了
#include
#include
#include
#include
#include
#define M 100100
using namespace std;
...
分类:
其他好文 时间:
2014-11-03 17:53:06
阅读次数:
171
树的直径:从任意一点出发,BFS找到最远的距离,然后在从该点出发BFS找到最远的距离
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
const int maxn = 10008;
const int inf = 0x3ffffff;
stru...
分类:
其他好文 时间:
2014-11-03 17:51:59
阅读次数:
170
统计区间内所有数字和,对于重复出现的只统计一次
线段树的离线算法
按结束坐标排序,然后扫一遍,遇到重复的,就把之前插入线段树的给删掉
#include "stdio.h"
#include "string.h"
#include "algorithm"
using namespace std;
struct node
{
int l,r;
__int64 sum;
...
分类:
其他好文 时间:
2014-11-03 17:51:52
阅读次数:
202
#include
#include
#include
using namespace std;
typedef struct stacknode
{
int data;
struct stacknode *next;
}StackNode,*LinkSt...
分类:
编程语言 时间:
2014-11-03 17:50:06
阅读次数:
249
NOIP2013货车运输,只不过数据范围小了许多。
不到150s打完并且AC。。
额,当然,我写的是Floyd。
写LCA的真过分。
#include
#include
#include
#define N 305
#define inf 0x3f3f3f3f
using namespace std;
int n,m,q;
int map[N][N];
int main()
...
分类:
其他好文 时间:
2014-11-03 17:49:41
阅读次数:
184
题目大意:给出一棵树,在上满找三个点,问那个点到这三个点的距离和最短。
思路:可以证明,这个店必然是这三个点之间两个的LCA,然后枚举就可以了。
CODE:
#include
#include
#include
#include
#define MAX 1000010
#define INF 0x3f3f3f3f
using namespace std;
int...
分类:
其他好文 时间:
2014-11-03 17:48:16
阅读次数:
246
ZOJ 3687 The Review Plan I ( 禁位排列 + 容斥原理 )#include #include #include using namespace std;typedef long long LL;#define CLR( a, b ) memset( a, b, sizeof...
分类:
其他好文 时间:
2014-11-03 16:10:46
阅读次数:
270
题意:一堆奶牛去某个地方,去了又回,然后求去回和的最大值。
题解:两遍最短路,结束,邻接矩阵存边可以避免建反图。
#include
#include
#include
#define N 1005
#define inf 0x3f3f3f3f
using namespace std;
int map[N][N],n,m,s;
int dist1[N],dist2[N];
bool v...
分类:
其他好文 时间:
2014-11-03 11:35:37
阅读次数:
162
题目链接
思路:2-SAT的模版题
代码:
#include
#include
#include
#include
#include
using namespace std;
const int MAXN = 10005;
struct TwoSAT{
int n;
vector g[MAXN * 2];
bool mark[MAX...
分类:
其他好文 时间:
2014-11-03 11:33:52
阅读次数:
302