题目大意:给定两个串A和B,要求将A中删掉所有的B后输出
为何BC群刚有人问完我这题的【C++语法基础题】版之后就出了个KMP版的= =
维护一个栈,将A中的字符依次加进去,一旦A的栈顶出现了B就弹栈
用KMP算法来加速这个过程即可
#include
#include
#include
#include
#define M 1001001
using namespace std;
...
分类:
编程语言 时间:
2015-04-09 10:39:21
阅读次数:
192
题目大意:给定n个数,每次选择两个数,将两数的异或值计入答案,并删掉其中一个,反复如此直到只剩一个数为止,求答案的最大值
每次将选择的两个数连边,那么显然会得到一棵树
用Prim算法求最大生成树即可
#include
#include
#include
#include
#define M 2020
using namespace std;
int n,a[M];
long long...
分类:
其他好文 时间:
2015-04-09 10:33:10
阅读次数:
161
我们只要把每头牛开始遮挡视线和结束遮挡视线的时间点都搞出来就好= =再按照y轴排序。。。然后变成线段覆盖了。。线段树搞一下就好了? 1 /************************************************************** 2 Problem: 3...
分类:
其他好文 时间:
2015-04-08 23:02:52
阅读次数:
207
题意:
坐标系上给出n个点,分”H”和”G”,一个整点坐标上至多一个点。
现在求一个不包含”G”的包含尽量多”H”的子矩形,然后在保证”H”最多的情况下还要问最小面积。
输出”H”的最大数量,和保证”H”最多时的最小矩形面积。
题解:
我们发现因为坐标有限制[0,1000] (注意有”0”!!!),所以它是一个矩形。
第一问:
首先我们可以参照极大子矩形的做法算出所有的极大子矩形,然...
分类:
其他好文 时间:
2015-03-06 09:46:28
阅读次数:
251
题意:
PoPoQQQ要在电影院里呆L分钟,这段时间他要看小型电影度过。电影一共N部,每部都播放于若干段可能重叠的区间,现在PoPoQQQ要看尽量少的电影来度过这段时间,同时他决不会看同一部电影两次。
题解:
状压DP,f[i]表示状态为i时从0最远连续看到哪。
然后转移上枚举还要看哪部电影,贪心取能看的片场中最靠后的一个。
然后时间复杂度O(2N×N×xxxx)O(2^N\times...
分类:
其他好文 时间:
2015-03-05 16:59:16
阅读次数:
477
题目大意:给定一张图,从1开始随便走最后回到1,有一次机会可以反向沿着某条边走一次,求最多能经过多少个点
显然如果没有反向的机会的话答案就是1号节点所在强连通分量的大小
现在有了这个机会 那么将某条边反向后 缩点之后的图形成了一个包含1号节点所在强连通分量的环 这样才能使答案增加
将这个环从反向的边和1号节点所在强连通分量处断开 发现这个环被拆成了两条链
一条从1出发,一条指向1
因此缩...
分类:
编程语言 时间:
2015-03-05 14:53:01
阅读次数:
177
题意:
给一个有向图,然后选一条路径起点终点都为1的路径出来,有一次机会可以沿某条边逆方向走,问最多有多少个点可以被经过?(一个点在路径中无论出现多少次(≥\geq1)对答案的贡献均为1)
题解:
首先强连通分量缩点。
然后形成了dfs统计出:
集合A:点 11 能到哪些点,
集合B:哪些点能到点 11
然后这两个集合各为拓扑图。
现在一条从1出发,最后又回到1的最长路径就可以被...
分类:
编程语言 时间:
2015-03-05 14:48:35
阅读次数:
165
广告:#include
int main()
{
puts("转载请注明出处[vmurder]谢谢");
puts("网址:blog.csdn.net/vmurder/article/details/44065939");
}题意:PoPoQQQPoPoQQQ站在原点上向y轴正半轴看,然后有一群羊驼从他眼前飞过。这些羊驼初始都在第二象限,尾巴在(Xi,Yi),头在...
分类:
其他好文 时间:
2015-03-04 22:47:13
阅读次数:
222