- 博客(19)
- 问答 (2)
- 收藏
- 关注
原创 【POJ-2524】Ubiquitous Religions(并查集)
并查集。#include#includeusing namespace std;const int maxn = 55555;int fa[maxn];int vis[maxn];int n,m,t;void init(){ for(int i = 0; i < n; i++) {fa[i] = i;} memset(vis,0,sizeof(vis));}i
2014-10-30 18:00:18 808
原创 【POJ】The Suspects(裸并查集)
并查集的模板题,为了避免麻烦,合并的时候根节点大的合并到小的结点。#include#includeusing namespace std;const int maxn = 33333;int fa[maxn];int num[maxn];int n,m,t;void init(){ for(int i = 0; i < n; i++) {fa[i] = i; num[i]
2014-10-30 17:47:57 918
原创 【POJ-1988】Cube Stacking(并查集)
//=====================================// KinderRiven POJ 1899//=====================================#include#includeusing namespace std;const int maxn = 33333;const int INF = 30000;int
2014-10-30 16:42:14 789
原创 【HDU-4614】Vases and Flowers(线段树双查询)
119463172014-10-23 09:08:28Accepted4614437MS2348K3340 BG++KinderRiven#include#include#include#include#include#include#includeusing namespace std;typedef long long
2014-10-23 09:08:41 1118
原创 【UVA】434-Matty's Blocks
一道很容易想复杂的题,给出主视图和右视图,计算最少能用几个正方体组成对应的视图,以及最多还能加几块正方体。求最多添加其实就是求出最多的正方体数减去最少的,主要就是最少的不好求。一开始各种模拟就是不对,之后发现,只需要统计两个视图的高度个数就可以了(简直了)14390495434Matty's BlocksAcceptedC++
2014-10-21 19:39:02 731
原创 【UVA】10012 - How Big Is It?(暴力)
利用DFS枚举所有排列,之后每次添加一个圆的时候,他的位置是和前面所有已经添加圆的相切的位置的最大。1438363510012How Big Is It?AcceptedC++0.0862014-10-20 11:07:33#include#include#include#includeusing
2014-10-20 19:49:59 901
原创 【UVA】11468-Substring(AC自动机)
AC自动机的题,需要注意的,建立失配边的时候,如果结点1失配边连到的那个结点2,那个结点2是一个单词的结尾,那么这个结点1也需要标记成1(因为可以看成,这个结点包含了这个单词),之后在Trie树上进行行走,每次走到下一个可以走的结点。1437852711468SubstringAcceptedC++0.5852014-
2014-10-19 18:56:06 899
原创 【HDU】病毒侵袭(AC自动机模板题)
AC自动机的模板题,由于输入的字符串中的字符不保证全为小写字母,所以范围应该在130之前,而前31位字符是不可能出现在字符串的(不懂得查下ACSII表就行了),所以只需要开的结点数组大小为130足够了,如果开256就会内存超限。119087752014-10-19 10:45:38Accepted2896250MS29596K2760 BG++K
2014-10-19 10:44:02 821
原创 【UVA】1449-Dominating Patterns(AC自动机)
AC自动机的模板题,需要注意的是,对于每个字符串,需要利用map将它映射到一个结点上,这样才能按顺序输出结果。143608411449Dominating PatternsAcceptedC++0.1462014-10-16 11:41:35#include#include#include#inclu
2014-10-16 19:46:09 769
原创 【HDU-2222】Keywords Search(AC自动机模板)
AC自动机的模板题,自己手敲了一遍模板。添加失配边的时候,对每个结点的26条字母边链接的子结点扫一遍,如果结点存在,那么这个子结点的失配边就是主结点失配边对应结点链接的子节点。如果结点不存在,那么这个结点就直接连到主结点失配边对应结点链接的子节点。感觉AC自动机好难懂啊。。。QAQ118855122014-10-16 16:22:43Accepted22
2014-10-16 16:44:02 850
原创 【UVA】11525-Permutation(线段树水题)
一开始题意没太kando1434365211525PermutationAcceptedC++0.1752014-10-13 06:27:29#include#include#includeusing namespace std;#define lson pos<<1#define
2014-10-13 14:26:52 620
原创 【UVA】1232 - SKYLINE(线段树减枝)
注意中间的减枝,还需要用一个tr[i]记录结点的值,用col[i]记录结点区间是否被全覆盖。#include#include#includeusing namespace std;const int maxn = 111111;const int maxd = 100001;#define lson pos<<1#define rson pos<<1|1int col[maxn
2014-10-12 18:17:45 1083
原创 【HDU】 1018 Big Number
大意就是求 log10(n!) = log10(1 * 2 * 3 * .......*n) = log10(1) + log10(2)
2014-10-12 10:58:15 789
原创 【UVA】12299-RMQ with Shifts(线段树)
修改的时候由于数据很小,所以可以直接暴力修改,查询的时候利用线段树就行了。1433785812299RMQ with ShiftsAcceptedC++0.2822014-10-11 16:02:53#include#include#include#includeusing namespace st
2014-10-12 00:13:09 1114
原创 【UVA】11732 - strcmp() Anyone?
一开始不知道这种一维建树方法。每次一层用一个链指向下一层最左边的结点,之后每一层用一个链表串联所有的结点,这样就建树成功了。1432852411732strcmp() Anyone?AcceptedC++0.8262014-10-09 13:13:14#include#include#inclu
2014-10-09 21:24:35 737
原创 【UVA】11137-Ingenuous Cubrency
DP问题,需要打表。dp[i][j]代表利用大小不超过i的数字组成j的方法。状态方程是 dp[i][j] = d[i - 1][j] + sum{dp[i - 1][j - k * i * i *i]};1432770511137Ingenuous CubrencyAcceptedC++0.0492014-10-09
2014-10-09 18:21:14 762
原创 【uva-11584】Partitioning by Palindromes(dp)
粗略的复杂度是L^3,长度最大是1000,,没敢做,之后发现其实这个复杂度的系数也不大,可以过,而且很快。dp[j] = dp[i - 1] + 1 (if(str[i] ~ str[j]为回文)1432745111584Partitioning by PalindromesAcceptedC++0.0522014-10-
2014-10-09 17:37:38 912
空空如也
关于JAVA制作桌面挂架的一些问题
2015-01-29
关于wordpress的wp-syntax插件问题
2014-11-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人