随笔分类 -  /* 圣人不死 AC不止!*/

上一页 1 2 3 4 5 6 7 8 9 ··· 32 下一页
coding不息!
摘要:题目传送门题意:训练指南P245分析:set维护,查询删除最大最小值#include using namespace std;typedef long long ll;int main(void) { int n; multiset S; while (scanf ("%d", ... 阅读全文
posted @ 2016-01-14 13:22 Running_Time 阅读(177) 评论(0) 推荐(0)
摘要:题目传送门题意:训练指南P244分析:链表模拟,维护链表的head和tail指针#include using namespace std;const int N = 1e5 + 5;struct Link_list { char ch; Link_list *nex;}link_l... 阅读全文
posted @ 2016-01-14 13:17 Running_Time 阅读(306) 评论(0) 推荐(0)
摘要:题目传送门题意:训练指南P228分析:照着书上的做法,把点插入后把它后面不占优势的点删除,S.size ()就是优势的人数,时间复杂度O (nlogn)#include using namespace std;struct Point { int a, b; Point() {} ... 阅读全文
posted @ 2016-01-12 11:28 Running_Time 阅读(254) 评论(0) 推荐(0)
摘要:题目传送门 题意:训练指南P225 分析:二分寻找长度,用hash值来比较长度为L的字串是否相等。 后缀数组也可以求解,具体就是二分答案,height数组分组判断是否满足存在题意的解,并使最优。(m=1时特判处理) 阅读全文
posted @ 2016-01-12 11:25 Running_Time 阅读(473) 评论(0) 推荐(0)
摘要:题目传送门题意:训练指南P218分析:一行一行的插入,一行一行的匹配,当匹配成功时将对应子矩阵的左上角位置cnt[r][c]++;然后统计 cnt[r][c] == x 的数量#include using namespace std;const int N = 1e3 + 5;const int N... 阅读全文
posted @ 2016-01-12 11:20 Running_Time 阅读(227) 评论(0) 推荐(0)
摘要:题目传送门题意:训练指南P217分析:没有模板串也就是在自动机上走L步,不走到val[u] == v的节点的概率PS:边读边insert WA了,有毒啊!#include using namespace std;const int K = 20 + 5;const int L = 100 + 5;c... 阅读全文
posted @ 2016-01-12 11:16 Running_Time 阅读(251) 评论(0) 推荐(0)
摘要:题目传送门题意:训练指南P216分析:求出现最多次数的字串,那么对每个字串映射id,cnt记录次数求最大就可以了。#include using namespace std;const int N = 150 + 5;const int NODE = N * 70;const int LEN = 1e... 阅读全文
posted @ 2016-01-12 11:07 Running_Time 阅读(174) 评论(0) 推荐(0)
摘要:题目传送门题意:(训练指南P213) 求每个前缀的最短循环节分析:利用失配函数的性质,如果i % (i - fail[i]) == 0,那么正好错位移动一个循环节长度。#include using namespace std;const int N = 1e6 + 5;char str[N];int... 阅读全文
posted @ 2016-01-12 11:00 Running_Time 阅读(552) 评论(0) 推荐(0)
摘要:水A- Bulbs#include using namespace std;typedef long long ll;const int N = 1e5 + 5;const int INF = 0x3f3f3f3f;bool vis[110];int main(void) { memset (vis... 阅读全文
posted @ 2016-01-10 19:32 Running_Time 阅读(194) 评论(0) 推荐(0)
摘要:并查集 1002tree题意:中文题面分析:(官方题解)把每条边权是1的边断开,发现每个点离他最近的点个数就是他所在的连通块大小.开一个并查集,每次读到边权是0的边就合并.最后Ansi=size[findset(i)],sizeAns_i=size[findset(i)],sizeAns​i​​=s... 阅读全文
posted @ 2016-01-08 16:10 Running_Time 阅读(231) 评论(0) 推荐(0)
摘要:题目传送门题意:给出一个200 * 50000的像素点矩阵,执行50000次操作,每次把一个矩形/圆形/菱形/三角形内的像素点涂成指定颜色,问最后每种颜色的数量。分析:乍一看,很像用线段树成段更新写,虽然复杂度有点大,但是也想不到其他的方法.这题可以巧妙地运用并查集来涂色.离线,从最后一个倒过来涂色... 阅读全文
posted @ 2016-01-08 14:58 Running_Time 阅读(277) 评论(0) 推荐(0)
摘要:题目传送门题意:中文题面分析:隔了一个考试周再做,开始没有什么思路,感觉能用线段树/树状数组维护,树状数组维护最小值不会去写线段树,结果超时.后来发现只要维护前缀几个人以及用优先队列/set维护最小忍受值,加上队列编号pop就能实现全部功能了.//#include #include #include... 阅读全文
posted @ 2016-01-08 14:14 Running_Time 阅读(294) 评论(0) 推荐(0)
摘要:水A - Saitama Destroys Hotel简单的模拟,小贪心。其实只要求max (ans, t + f);#include using namespace std;#define lson l, mid, o r.f || (f == r.f && t 0 && i a[i].f)... 阅读全文
posted @ 2015-12-24 21:33 Running_Time 阅读(194) 评论(0) 推荐(0)
摘要:题目传送门题意:(训练指南P209) 问长字符串S能由短单词组成的方案数有多少个分析:书上的做法。递推法,从后往前,保存后缀S[i, len-1]的方案数,那么dp[i] = sum (dp[i+len(s)])。用字典树记录并查询短单词的前缀的长度。#include using namespace... 阅读全文
posted @ 2015-12-23 22:23 Running_Time 阅读(173) 评论(0) 推荐(0)
摘要:题目传送门题意:询问所有字符串的比较次数和(注意for循环内的比较也算)分析:将所有字符串插入到字典树上,然后结点信息记录有几个字符串,那么每走到一个结点就能知道比较到此时需要的次数。学习到链表存结点#include using namespace std;typedef long long ll;... 阅读全文
posted @ 2015-12-19 19:42 Running_Time 阅读(232) 评论(0) 推荐(0)
摘要:题目传送门题意:训练指南P207分析:因为矩阵不超过20行,所以可以建20条线段的线段树,支持两个区间更新以及区间查询.#include using namespace std;#define lson l, mid, o b) a = b; } void push_up(int o) { no... 阅读全文
posted @ 2015-12-15 13:35 Running_Time 阅读(258) 评论(0) 推荐(0)
摘要:构造 1002GTW likes gt题意:中文题面分析:照着题解做的,我们可以倒着做,记一下最大值,如果遇到了修改操作,就把最大值减1,然后判断一下这个人会不会被消灭掉,然后再更新一下最大值。不知道其他的做法是怎么样的#include #include #include using namespa... 阅读全文
posted @ 2015-12-13 11:35 Running_Time 阅读(228) 评论(0) 推荐(0)
摘要:水A - Magic Spheres这题也卡了很久很久,关键是“至少”,所以只要判断多出来的是否比需要的多就行了。#include using namespace std;#define lson l, mid, o = less) puts ("Yes"); else puts ("No"); ... 阅读全文
posted @ 2015-12-13 11:17 Running_Time 阅读(207) 评论(0) 推荐(0)
摘要:题目传送门题意:动态最大连续子序列和,静态的题目分析:nlogn的归并思想。线段树维护结点的三个信息,最大前缀和,最大后缀和,该区间的最大和的两个端点,然后答案是三个的better。书上用pair保存端点,用自带的using namespace std;#define lson l, mid, rt... 阅读全文
posted @ 2015-12-09 18:02 Running_Time 阅读(247) 评论(0) 推荐(0)
摘要:题目传送门题意:训练指南P197分析:枚举裁判的位置,用树状数组来得知前面比它小的和大的以及后面比它小的和大的,然后O (n)累加小 * 大 + 大 * 小 就可以了#include using namespace std;typedef long long ll;const int N = 1e5... 阅读全文
posted @ 2015-12-07 20:42 Running_Time 阅读(191) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 8 9 ··· 32 下一页