摘要: 链接:http://acm.hdu.edu.cn/showproblem.php?pid=5384题意:给n个母串,给m个匹配串,求每个母串依次和匹配串匹配,能得到的数目和。分析:之前并不知道AC自动机是用来求什么的,但翻模板的时候看见邝斌的字符串模板里有AC自动机一项,就看了一下,然后发现和题目要... 阅读全文
posted @ 2015-08-13 18:45 一麻袋码的玛侬 阅读(240) 评论(0) 推荐(0) 编辑
摘要: tarjan的过程就是dfs过程。图一般能画成树,树的边有三种类型,树枝边 + 横叉边(两点没有父子关系) + 后向边(两点之间有父子关系);可以看到只有后向边能构成环,即只有第三张图是强连通分量。对图dfs一下,遍历所有未遍历过的点 ,会得到一个有向树,显然有向树是没有环的。(注意搜过的点不会再搜... 阅读全文
posted @ 2015-08-13 08:51 一麻袋码的玛侬 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 题意:每头奶牛都只愿意在她们喜欢的那些牛栏中产奶,告诉每头奶牛愿意产奶的牛棚编号,求出最多能分配到的牛栏的数量。分析:直接二分图匹配; 1 #include 2 #include 3 4 #define MAX 202 5 bool flag,visit[MAX]; //记录V2中的某个点是... 阅读全文
posted @ 2015-08-12 09:41 一麻袋码的玛侬 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 题意:告诉你一棵树的结构,要求满足下三个条件,求满足的序列有多少种。1、每个节点只有一个数字;2、作为儿子节点的编号要连续 也就是兄弟节点间的麻将编号要连续;3、每棵子树的麻将编号要连续;首先看样例就看了好久:告诉一棵树的结构是这样的然后向结点放8个数字,满足的个数是16。每种下边的三个小分队又是4... 阅读全文
posted @ 2015-08-11 20:20 一麻袋码的玛侬 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 题意:告诉一个数n,然后求出所有的位数和,插在n的尾部,重复求t次,判断最终的数是否能被11整除。分析:直接模拟的过程,并且模拟的除的过程,却TLE,以为是方法错了,因为每次都得循环求一遍位数和;PS: 1、能被11整除:就是求偶数位和-奇数位和的差,如果差能被11整除,就是能够被11整除。比如35... 阅读全文
posted @ 2015-08-11 19:38 一麻袋码的玛侬 阅读(571) 评论(0) 推荐(0) 编辑
摘要: 题意:给一个数列,按如下公式求和。分析:场上做的时候,傻傻以为是线段树,也没想出题者为啥出log2,就是S(i,j) 的二进制表示的位数。只能说我做题依旧太死板,让求和就按规矩求和,多考虑一下就能发现这个题目应该是另想办法解决的,类似于改代码的题目,直接告诉你C++代码,让你从TLE改成AC,其实真... 阅读全文
posted @ 2015-08-11 09:54 一麻袋码的玛侬 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 题意:告诉n组A,B,C,按照A + k * C生成等差数列,问这n组数列中哪个数字出现了奇数次以及出现了几次,题目保证最多只会出现一个这种数字。分析:读完题并没有思路,后来知道是二分区间,枚举是哪个数字出现了奇数次,算该数字之前一共有几个数字,如果是奇数个,说明答案就在[L , Mid]中。PS:... 阅读全文
posted @ 2015-08-10 21:24 一麻袋码的玛侬 阅读(320) 评论(0) 推荐(0) 编辑
摘要: PS参考:http://m.blog.csdn.net/blog/biboyouyun/12206733题意:EAEBE这种结构的字符串,求E的最大长度;分析:我直接就从s.length()/3开始枚举,结果TLE了,正解是KMP,但是string的substr和find能够水过,只能说学弟太强了(... 阅读全文
posted @ 2015-08-10 18:33 一麻袋码的玛侬 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=4822并不会做这个题,题解说是LCA(最近公共祖先),并不懂,说一下我自己的思路吧,虽然没能实现出来。题意:告诉一张连通图,没有环,每条边长度为1,告诉三个点A,B,C,如果其中一个点A到另一个点E的距离小于... 阅读全文
posted @ 2015-08-10 10:00 一麻袋码的玛侬 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 题意:告诉一张带权图,不存在环,存下每个点能够到的最大的距离,就是一个长度为n的序列,然后求出最大值-最小值不大于Q的最长子序列的长度。做法1:两步,第一步是根据图计算出这个序列,大姐头用了树形DP(并不懂DP),然后就是求子序列长度,其实完全可以用RMQ爆,但是大姐头觉得会超时,于是就采用维护最大... 阅读全文
posted @ 2015-08-07 20:26 一麻袋码的玛侬 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5360题意:告诉你n个区间[ l[i],r[i] ],然后让你排序,必须左区间不大于它前边的总区间个数,右区间不小于前边的总区间个数,求该序列的最大长度以及序列;PS:场上做的时候,三个人三个思路,不知道... 阅读全文
posted @ 2015-08-06 23:34 一麻袋码的玛侬 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4576坑大发了,居然加 % 也会超时; 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include... 阅读全文
posted @ 2015-08-06 11:53 一麻袋码的玛侬 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 一定得记住!ACM遇大数就好办了!!! 注意不可同时运行,每次只能运行一个类型 1 package aad;///建根文件的时候选择了这一项就要写,没选择可以不用写 2 import java.io.*; 3 import java.math.BigInteger; 4 import java.ut 阅读全文
posted @ 2015-08-04 20:32 一麻袋码的玛侬 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 题意:举例子好说点,告诉你4个数字,8,6,4,2四个数字,组成一个四位数,如果两个数字分别是1111,2222,则2222会吧1111杀掉,就是组成的四位数不能每一位都小于或等于一个数,然后让你求出最大能够存活的数目。分析:场上的时候自己一直在找规律,推公式,以为是四个数字递增递减交替的规律,没想... 阅读全文
posted @ 2015-08-03 23:48 一麻袋码的玛侬 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 题意:三个操作 1 a b : 队列中加入(x = a, y = b); -1 a b : 队列中减去(x = a, y = b); 0 p q :从队列的数对中查询哪一对x,y能够让 p * x + q * y最大; 分析:因为一开始就觉得如果暴力绝对会超时,但是时限是30 000 ms,而且看见 阅读全文
posted @ 2015-08-02 23:02 一麻袋码的玛侬 阅读(931) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5128题意:给你n(n < 30)个点的坐标,然后让你求出这n个点能构成的两个最大矩形的面积,有以下三种情况是不算在内的;如果存在这样的两个矩形就输出最大的面积,否则输出imp;分析:因为只有30个点,纯... 阅读全文
posted @ 2015-08-02 22:26 一麻袋码的玛侬 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 using namespace... 阅读全文
posted @ 2015-07-28 10:28 一麻袋码的玛侬 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 题意:一张有向图,一问至少给几个点发送软件,才能让所有点都能收到软件;二问是至少添加几条边才能让整个图是一个连通分量;分析:一般求连通分量都会求缩点,在这里缩点之后,生成一张新的图,在新的图中求每一个点的出度,入度。答案就是sum(入度=0),max(sum(出度 == 0),sum(入度 == 0... 阅读全文
posted @ 2015-07-28 09:04 一麻袋码的玛侬 阅读(690) 评论(0) 推荐(0) 编辑
摘要: 1.定义:在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通(SC---strongly connected)。有向图中的极大强连通子图,成为强连通分量(SCC---strongly connected components)。下图中,子图{1,2,3,4}为一个强连通分量,因为顶点1,... 阅读全文
posted @ 2015-07-27 12:23 一麻袋码的玛侬 阅读(1254) 评论(0) 推荐(0) 编辑
摘要: 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 #define MAX_NUM 500010 9 10 struct node{11 int value;12 in... 阅读全文
posted @ 2015-07-05 21:25 一麻袋码的玛侬 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 题意:思路:topo+并查集 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 vector web[100010]; 8 int p[100010],n,m,sum,f[1000... 阅读全文
posted @ 2015-06-02 23:10 一麻袋码的玛侬 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 1 #include 2 #include 3 using namespace std; 4 5 #define DIGIT 4 //四位隔开,即万进制 6 #define DEPTH 10000 //万进制 ... 阅读全文
posted @ 2015-06-02 21:36 一麻袋码的玛侬 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 比赛链接:http://acm.upc.edu.cn/problemset.php?page=22E题:运送货物题意:从1到n有很多道路,但是每条道路有上限,一张图,判断1到n的道路上的能通过的最小权值的最大值,思路:并查集(其实就是最大生成树,改掉最小生成树的排序,按照从大到小排序即可)结构体按从... 阅读全文
posted @ 2015-06-02 17:04 一麻袋码的玛侬 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 题意:求在数列中能找到几个个长度为k 的区间,里面的 k 个数字排完序后是连续的。思路:枚举范围,判断区间内是否有重复的数字(主席树),没有的话求区间最大-区间最小(RMQ),判断是否等于K,是的话sum++,否则continue;主席树:原理不太懂,暂时还没能到能研究的水平,不过知道时间复杂度之类... 阅读全文
posted @ 2015-05-30 23:53 一麻袋码的玛侬 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 判断矩形能包围点集的最小面积:凸包 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #define Max 2147483647 10... 阅读全文
posted @ 2015-05-30 15:33 一麻袋码的玛侬 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 题意:给一个n*m的矩阵,每个点是一个蛋糕的的重量,然后小明只能向右,向下走,求在不超过K千克的情况下,小明最终能吃得最大重量的蛋糕。思路:类似背包DP;状态转移方程:dp[i][j][k]----在i,j位置时,最大容量为k时的最大值;做背包循环一般从1开始,因为需要坐标-1的情况,从0开始需要特... 阅读全文
posted @ 2015-05-30 11:38 一麻袋码的玛侬 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 题意:有两种性别,每组数据表示是男女朋友,判断输入的几组数据是否有同性恋思路:http://blog.csdn.net/iaccepted/article/details/24304087分组并查集:POJ 1182更复杂一点,但是比较相似; 阅读全文
posted @ 2015-05-29 23:15 一麻袋码的玛侬 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 题意:给你11个图,每一个都有管道,然后给一张由这11个正方形中的n个组成的图,判断有几条连通的管道;思路:在大一暑假的时候做过这道题,当时是当暴力来做的,正解是并查集,需要进行一下转换;转换1:将子图中的管道转换为数字码,通为1,不通为0;转换2:一维--->二维,i,j换成在n*m中的第几个,p... 阅读全文
posted @ 2015-05-29 20:37 一麻袋码的玛侬 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 今天刚发现,之前做的并查集只是贴模板基本就能过,题意改变一点,自己还是不懂,其实我还没入门呢。。。题意:食物链,A吃B,B吃C,C吃A,输入m组数据:1 a b:a 和 b 是同一类2 a b:a吃b判断这m组数据有几句是假话。假话条件:1)在2的情况下,a == b;2)a > n || b > ... 阅读全文
posted @ 2015-05-27 23:56 一麻袋码的玛侬 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 美国人出题拐弯抹角,倒是挺尊重动物的问题描述: John变得非常懒, 他不想再继续维护供奶牛之间供通行的道路. 道路被用来连接N(5 <= N <= 10,000)个牧场, 牧场被连续地编号为1..N. 每一个牧场都是一个奶牛的家.FJ计划除去P(N-1 <= P <= 100,000)条道路中尽可... 阅读全文
posted @ 2015-05-27 18:57 一麻袋码的玛侬 阅读(246) 评论(0) 推荐(0) 编辑
摘要: HDU1102 (最小生成树)RE-栈溢出了5遍; 1 int find_set(int x) 2 { 3 if(F[x] == x)///本来是if(F[x] == -1) return x;如果数据量很大的话,所有的F[x]可能就会被改成正值,不会有-1了,也就是说不会返回了,首先是数组... 阅读全文
posted @ 2015-05-25 19:25 一麻袋码的玛侬 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 并查集模板: 1 #include 2 using namespace std; 3 int Rank[1001],x,y; 4 int v[1001]; 5 //初始化 x 集合 6 void init(int n) 7 { 8 for(int i=0; iRank[y])35 ... 阅读全文
posted @ 2015-05-24 23:22 一麻袋码的玛侬 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 题意:求n的所有因子和;思路:类似于筛选法求素数的思想,只有第一次的时候了解过它的思想,然后就只是用来求素数,思想的运用反而少;筛选法求素数: 1 int prime() 2 { 3 memset(vis, true, sizeof(vis)); 4 for(int i = 2; i... 阅读全文
posted @ 2015-05-22 18:42 一麻袋码的玛侬 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 1 #include 2 #include 3 using namespace std; 4 #define maxNum 110 ///定义邻接举证的最大定点数 5 int pre[maxNum]; 6 int post[maxNum]; 7 int point=0;///pre和... 阅读全文
posted @ 2015-05-22 10:16 一麻袋码的玛侬 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 题意:作为年度优秀魔法学员的奖赏,哈利得到了一台具有魔力的计算机。这台计算机一旦开始处理某个任务,就会一直处理到这个任务结束为止(所以你可以认为它是单线程的)。有一天,这台计算机得到了n个任务要处理,分别标号1到n。这n个任务之间又有一些依赖关系,假如存在依赖关系(a, b),那么要处理a任务,必须... 阅读全文
posted @ 2015-05-22 10:03 一麻袋码的玛侬 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 刷回溯的时候发现我对DFS思路很不清晰,总是做着做着就乱了,刷个水题找找思路。题意:经典DFS,找出所有的能让1~n的数形成素数环的序列(相邻相加为素数); 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include ... 阅读全文
posted @ 2015-05-22 00:26 一麻袋码的玛侬 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 题意:找出1到T的所有路径;坑点:一开始以为是到终点,读错了题意,没测试第二个样例,结果WA了4遍,坑大了; 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #define M... 阅读全文
posted @ 2015-05-21 19:14 一麻袋码的玛侬 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 题意:规定一个数列 = {这个数的质因子只能包括2,3,5,7},求第n个数字是多少;思路:暴力打表,然后只粘数据,虽然过了,但是正解其实是DP,每一个数字都是由某一个该数列里的某一个数字乘以2,3,5或者7形成的,因此按照这个方法暴力数列;其中因为英文不是很好,WA了好几次,输出有问题,11是11... 阅读全文
posted @ 2015-05-19 00:48 一麻袋码的玛侬 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 题意:输出所有的环;思路:数据比较小,用三层循环的floyd传递闭包(即两条路通为1,不通为0,如果在一个环中,环中的所有点能互相连通),输出路径用dfs,递归还没有出现过的点(vis),输出并递归该点与其他点能互达的点; 1 #include 2 #include 3 #include 4 ... 阅读全文
posted @ 2015-05-16 22:58 一麻袋码的玛侬 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 题意:有n个电梯,目的地是第K层(起点是第0层),给出每个电梯的速度,以及每个电梯能到达的层数,如果中途需要换电梯的话,时间需要+60,求到达目的地的最短时间;思路:Dij求最短路。如果是另一条路比较短的话,相当于乘别的电梯,也就是再+60,自己不可能和自己比,即d[e.v] 和 d[e.u] + ... 阅读全文
posted @ 2015-05-16 19:10 一麻袋码的玛侬 阅读(165) 评论(0) 推荐(0) 编辑