统计难题
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others)
Total Submission(s): 19292 Accepted Submission(s): 8518
Problem Description
Ignatius最近遇到一个难题,老师交给他很...
分类:
其他好文 时间:
2014-12-16 22:39:08
阅读次数:
191
由于权值是在边上,所以很容易发现一个性质:d(x,y)=d(x,root) xor d(y,root)。 因为有了这个性质,那么就很好做了。对于每一个点统计到root的距离,记为f 数组。 将f数组里的每个值插进按照二进制位插进字典树里面。 枚举每一个点,然后在字典树中搜索最大的xor值就...
分类:
其他好文 时间:
2014-12-16 22:21:45
阅读次数:
232
1 #include 2 #include 3 #include 4 5 using namespace std; 6 7 struct node 8 { 9 int next[26];10 int cnt;11 void init()12 {13 ...
分类:
其他好文 时间:
2014-12-12 23:36:15
阅读次数:
193
题意 中文
最基础的字典树应用噢噢噢噢
#include
#include
using namespace std;
struct trie
{
trie *chi[26];
int num;
trie()
{
num = 0;
for(int i = 0; i < 26; ++i)
chi[i] = N...
分类:
其他好文 时间:
2014-12-11 17:29:09
阅读次数:
107
#include #include using namespace std;#define mod 20071027int dic[401000][28],val[401000];char str[301000];int dp[301000];int s,sz;char T[110];void in...
分类:
其他好文 时间:
2014-12-11 00:03:10
阅读次数:
188
字典树struct Trie{ int ch[MAXN][26]; int cnt; Trie() { cnt=1; memset(ch[0],0,sizeof(ch[0])); } int idx(char c) { return c-'a'; } void insert(char *s...
分类:
其他好文 时间:
2014-12-06 11:21:30
阅读次数:
161
字典树分配id最常见,其他一半很少用,也可能渣做的题比较少
贴代码,代码有解释:
#include
#include
#include
#include
using namespace std;
int cnt;
struct node
{
int id;
int prefix;//记录前缀个数
node *next[26];//指向字典树下一层,如果全是小写...
分类:
编程语言 时间:
2014-12-01 17:40:17
阅读次数:
169
这个题感觉还不错,以前字典树写的是最顺手的,这几次比赛屡屡挂在字典树上也是有阴影了啊~~
题目大意:
给出一些字符串,对每个字符串进行查询,若没出现过返回OK,若出现过就生成新字符串,格式为原字符串+数,数为这个字符串第几次重复出现。
解题思路:
字典树,对于每个字符串的插入次数进行计数。
下面是代码:
#include
#includ...
分类:
其他好文 时间:
2014-11-29 14:41:37
阅读次数:
156
简单的字典树应用,在建树的时候判断就行了。需要注意的语法:在使用malloc和free来处理动态内存的时候,仅仅是释放了这个对象所占的内存,而不会调用这个对象的析构函数;使用new和delete就可以既释放对象的内存的同时,调用这个对象的析构函数。所以建立trie时用new更方便一些。注意要每组数据...
分类:
其他好文 时间:
2014-11-28 06:15:59
阅读次数:
171