摘要:
更。 阅读全文
摘要:
题目1: POJ 2318 TOYS 题目大意: 给一个有n个挡板的盒子,从左到右空格编号为0...n。有好多玩具,问每个玩具在哪个空格里面。 算法讨论: 直接叉积判断就可以。注意在盒子的边界上面也算在盒子里面。 1 #include <cstdio> 2 #include <cstring> 3 阅读全文
摘要:
更 阅读全文
摘要:
更 阅读全文
摘要:
题目1: NOI2014 魔法森林 LCT维护MST。解题报告见LOFTER 1 #include <cstdio> 2 #include <iostream> 3 #include <cstring> 4 #include <algorithm> 5 #include <cstdlib> 6 7 阅读全文
摘要:
题目一 : SPOJ 375 Query On a Tree http://www.spoj.com/problems/QTREE/ 给一个树,求a,b路径上最大边权,或者修改a,b边权为t。 1 #include <cstdio> 2 #include <iostream> 3 #include 阅读全文
摘要:
题目1:BZOJ 1814 URAL 1519 Formula 1 题目大意:给定一个N*M的棋盘,上面有障碍格子。求一个经过所有非障碍格子形成的回路的数量。 插头DP入门题。记录连通分量。 1 #include <bits/stdc++.h> 2 3 using namespace std; 4 阅读全文
摘要:
题1: Uva 1636 Headshot 题目大意: 给出一个000111序列,注意实际上是环状的。问是0出现的概率大,还是当前是0,下一个还是0的概率大。 问题比较简单,注意比较大小: A/C > B/D <=> A * D > B * C 1 #include <cstdio> 2 #incl 阅读全文
摘要:
题1:BZOJ1854 SCOI2010游戏 (最大匹配,如果不能匹配就break) 每个属性x,y分别向i连条边,匹配属性到不能匹配为止。注意是属性找武器,所以要循环属性。 输出即可。 1 #include <cstdio> 2 #include <cstring> 3 #include <cst 阅读全文
摘要:
题目1:BZOJ 2049 洞穴勘测 1 #include <bits/stdc++.h> 2 #define L(x) c[x][0] 3 #define R(x) c[x][1] 4 5 using namespace std; 6 7 const int oo = 0x3f3f3f3f; 8 阅读全文
摘要:
题1:BZOJ2190 SDOI 2010 仪仗队 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2190 算法讨论: 我们先来考虑一个点被看不到的情况是什么。假设我们在原点,现在有一个点(3,2), 和一个点(6,4),显示我们是可以看到 阅读全文
摘要:
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 8 using namespace std; 9 10 int n, ans[500000 + 5]; 11 char str[... 阅读全文
摘要:
题目大意:与别的裸题的唯一不同点是其符号的ASCII码值在3 ~ 254 之间。算法讨论:最小表示法直接上。但是唯一不同的就是注意这里的字符范围,用char是会get wa的,所以要用unsigned char。这两者的区别就是可以表示的ASCII范围不同。char是有符号位的,其可以表示的范围是-... 阅读全文
摘要:
题目大意:给一个长度小于等于30W的数列,求其最小循环同构。算法讨论:在自动机长倍长走S后即可。注意这里面是数字,要用map存储。 今天才知道要开四倍长。Codes: 1 #include 2 using namespace std; 3 4 const int L = 300000 +... 阅读全文
摘要:
题目大意:给出一个长度为N的字符串,求其字典序最小的循环同构。N 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 const int L = 10000 + 5; ... 阅读全文
摘要:
后缀自动机是一个有限状态自动机,有限状态自动机的功能是识别字符串。后缀自动机,可以识别一个字符串的所有子串。 后缀自动机原理。我们考虑如果把一个字符串的后缀建立一棵字典树,那么其状态和结点都是O(N^2)级别的。因为不能充分利用字符串本身的特点。我们考虑,假设我们有一个字符串T,某个串s是其的... 阅读全文
摘要:
题目大意:给出两个长度小于等于25W的字符串,求它们的最长公共子串。题目链接:http://www.spoj.com/problems/LCS/算法讨论:二分+哈希, 后缀数组, 后缀自动机。随意做。这里面只写一下我对后缀自动机做法的理解。首先,我们假设两个串分别为A串和B串,我们先对建立出A串的后... 阅读全文
摘要:
题目大意:曼哈顿最小距离生成树算法讨论:同上。这回的模板真的准了。 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 const int N = 100000 + 5... 阅读全文
只有注册用户登录后才能阅读该文。 阅读全文
摘要:
题目大意:有n1头公牛和n2头母牛,给出公母之间的m对配对关系,求最大匹配数。数据范围: 1 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 struct Hopcroft_Carp{ 9 ... 阅读全文
摘要:
题目大意:无向图,求最大流。算法讨论:Dinic可过。终于我的常数还是太大。以后要注意下了。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 typede... 阅读全文
摘要:
题目大意:平面上有n个点,两两不同。现在给出二叉树的定义,要求树边一定是从上指向下,即从y坐标大的点指向小的点,并且每个结点至多有两个儿子。现在让你求给出的这些点是否能构成一棵二叉树,如果能,使二叉树的树边长度(欧几里德长度)总和最小,输出这个总和。如果不能,输出-1.答案与标准答案相差1e-6内都... 阅读全文
摘要:
题目大意:有n个人,可以分成m个组,现在给出你每个人可以去的组的编号,求分成的m组中人数最多的组最少可以有多少人。算法讨论:首先喷一下这题的输入,太恶心了。然后说算法:最多的最少,二分的字眼。二分什么,因为我们说的是组的人,所以要对组的流出量进行二分。其余的都连流量为1的边,然后对“小组”点的流出量... 阅读全文
摘要:
题目大意:平面上有N(N 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 const int N = 10000 + 5; 8 typedef long long ll; 9 10 int n, mid... 阅读全文
摘要:
题目大意:在一个平面上有N(N 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 typedef long long ll; 9 10 int n;11 struct Point... 阅读全文
摘要:
题目大意:给出一张无向图,找出T条从1..N的路径,互不重复,求走过的所有边中的最大值最小是多少。算法讨论:首先最大值最小就提醒我们用二分,每次二分一个最大值,然后重新构图,把那些边权符合要求的边加入新图,在新图上跑网络流。这题有许多注意的地方:1、因为是无向图,所以我们在加正向边和反向边的时候,流... 阅读全文
摘要:
题目大意:在一个农场里面,有k个挤奶机,编号分别是 1..k,有c头奶牛,编号分别是k+1 .. k+c,每个挤奶机一天最让可以挤m头奶牛的奶,奶牛和挤奶机之间用邻接矩阵给出距离。求让所有奶牛都挤到奶的情况下,走的最远的那头奶牛走的距离最小是多少。数据保证有解。算法讨论:首先可以想到是二分,然后在选... 阅读全文
摘要:
题目大意:有一个最大是100 * 100 的网格图,上面有 s 个 房子和人,人每移动一个格子花费1的代价,求最小代价让所有的人都进入一个房子。每个房子只能进入一个人。算法讨论:注意是KM 和 MCMF算法,我写的是MCMF算法,一开始想的是连10000个点,但是不会连那些大众点之间的边,只会连超级... 阅读全文
摘要:
题目大意:给你一个n个农场,有m条道路,起点是1号农场,终点是n号农场,现在要求从1走到n,再从n走到1,要求不走重复路径,求最短路径长度。算法讨论:最小费用最大流。我们可以这样建模:既然要求不能走重复路,就相当于每条边的容量是1,我们只可以单向流过容量为1的流量。但是要注意,对于每一条边来说,它可... 阅读全文