2019年3月2日

[模板]Trie

摘要: Trie是一种存储字符串的数据结构,每个val不为0的结点代表一个字符串的结尾。 支持插入,查找,删除,查询前缀等操作(删除操作待实现)。 缺点是空间浪费极大,空间不足时可用三叉Trie代替。 阅读全文

posted @ 2019-03-02 01:23 枫棠 阅读(114) 评论(0) 推荐(0) 编辑

[EOJ]2019 ECNU XCPC March Selection #1 F

摘要: 题意:数轴上有n个点,m条线段,选出尽量多的线段,使每条线段都能独立地占有至少一个点(不可公用同一个点)。 线段覆盖问题,按右端点升序,右端点相同时左端点降序排序,画图可以看出前边的线段应该尽量用前边的点,把点排序,依此对每条线段二分查找可以用的点。 (考场上开始没想清楚,用左端点做了第一关键字,后 阅读全文

posted @ 2019-03-02 00:44 枫棠 阅读(183) 评论(0) 推荐(0) 编辑

2019年3月1日

[UVA]UVA1401 remember the name(Trie)

摘要: 题目大意:给出一个长度为n的字符串(n<=3e5)和一个单词表(单词长度不超过100),求该字符串被这些单词表示的方案总数。 不难想到递推算法:令f[s]为表示字符串s的方案总数,若某个单词为s的前缀,f[s]=sum(f[x])(x为s去掉该单词前缀的后缀字符串) 寻找字符串的前缀是trie的经典 阅读全文

posted @ 2019-03-01 23:37 枫棠 阅读(91) 评论(0) 推荐(0) 编辑

2019年2月27日

[EOJ]2019 ECNU XCPC March Selection #1

摘要: rank 2 solved 3 第二次训练赛(选拔赛)了,自闭了一个多小时。思维题做得还可以,主要还是好多知识点没认真学过,比如博弈和字符串,很简单的一道Trie题也做不了。近期主要多学学新算法,还有之前草草看的算法都重新学一遍。 A(博弈游戏) 博弈 没学过 GG (开始看全场都在试A题,自己看了 阅读全文

posted @ 2019-02-27 20:43 枫棠 阅读(197) 评论(0) 推荐(0) 编辑

2019年2月21日

[模板]宏定义

摘要: #include using namespace std; typedef long long int LL; #define st first #define nd second #define pb push_back #define mp make_pair #define pll pair #define pii pair #define rep(i,x) for(int i... 阅读全文

posted @ 2019-02-21 17:04 枫棠 阅读(287) 评论(0) 推荐(0) 编辑

2018年12月27日

[POJ]poj1961,poj2406(KMP)

摘要: 题意:求字符串的最小循环节长度,一个只要求原字符串的,一个要求所有前缀串的。 考虑KMP算法中的next数组,next[i]+1表示使前缀后缀相等的最大长度,可以推知L=s.size()-next[i]-1为字符串的最小循环节长度。 当s.size()是L的整数倍时,L即是循环节长度,否则最后一个循 阅读全文

posted @ 2018-12-27 16:31 枫棠 阅读(179) 评论(0) 推荐(0) 编辑

2018年12月26日

[模板]KMP

摘要: 很早之前学的KMP因为没大用过一直不理解原理,今天训练赛做到一个基本裸的没打出来,于是上网又搜了一些资料看,大致理解了原理,打了个相对简单的板子。 这东西还是挺好用的,最近要专门训练一下字符串的题。 阅读全文

posted @ 2018-12-26 22:35 枫棠 阅读(169) 评论(0) 推荐(0) 编辑

2018年12月25日

[CF]Avito Cool Challenge 2018

摘要: A(签到) 题意:签到 00:01 1A #include <bits/stdc++.h> using namespace std; typedef long long int LL; #define st first #define nd second #define pb push_back # 阅读全文

posted @ 2018-12-25 13:01 枫棠 阅读(153) 评论(0) 推荐(0) 编辑

[CF]Codeforces Round #528 Div.2

摘要: Div.2还是稳定四题啊,E题还是没得办法,就争取四题再快点吧。 A(签到) 题意:写下s的第一个字符,在最右边写下s的第二个字符,在最左边写下s的第三个字符,以此类推生成字符串t,给出t,求s 找规律即可,写的还是有点慢,A题尽量控制在五分钟之内。 00:09 1A #include <bits/ 阅读全文

posted @ 2018-12-25 10:47 枫棠 阅读(212) 评论(0) 推荐(0) 编辑

2018年12月23日

[POJ]POJ1328(贪心)

摘要: 题意:给出一些点的坐标和半径r,在x轴上选最少的圆心使所有点被圆覆盖。 坐标为(x,y)的点代表[x-sqrt(d^2-y^2),x+sqrt(d^2-y^2)]至少选一个点(显然d<y时无解),从而问题转化为给出一些区间,每个区间内要选至少一个点。 经典贪心问题:当Lj左边的点已经被全部覆盖时,且 阅读全文

posted @ 2018-12-23 00:16 枫棠 阅读(698) 评论(0) 推荐(0) 编辑

导航