摘要: 题目描述分析:环形要double转换为链状,再跑dp 记dp[i]表示以 i 为结尾的长度不超过k的最大连续子段和 dp[i]=max{sum[i]−sum[j]},i−k#include#define MAXN 100000#define INF 2000000000struct... 阅读全文
posted @ 2016-02-04 19:17 KatarinaYuan 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 题目描述分析:经典贪心题,跟田忌赛马没什么区别。 1. 以最小的代价尽量多的赢 2. 尽量多的平局 3. 剩下的注定要输了。#include#include#includeusing namespace std;#define MAXN 100000int n,a[MAXN+1... 阅读全文
posted @ 2016-02-04 17:07 KatarinaYuan 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 题目描述看着就是个LCT的模板题,可惜忘记在change的时候Update了,最终爆零!悲惨经历,教训啊。题目有坑: 1. 有负数,要么最开始全部赋值为-INF,否则要判断儿子是否为0 2. Link之后要Update,Change之后要Update,Rotate之后要Updat... 阅读全文
posted @ 2016-02-04 15:03 KatarinaYuan 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 题目描述分析:暴力肯定过不了。维护一个从大到小的单调队列。 想清楚这些事: 1. 如果前面有人的val比当前加入队伍的人的val小,那么前面那个人的val永远对答案没有贡献,可以删去。 2. 再有就是要删除出队的人,但由于是按照先入队先出队的顺序来删,可以先把这些人的val保留在... 阅读全文
posted @ 2016-02-04 14:09 KatarinaYuan 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 题目描述分析:题目大意是求出每只cow能看到的cow的总数的和 转换为: 每只cow能被看到的次数总和 这样就可以用单调队列求解了。 对于每只cow,删掉队列中height小于它的值,ans加上此时队列的长度(就是这只cow会被看到的次数)。再插入这只cow的height。如此求解... 阅读全文
posted @ 2016-02-04 13:42 KatarinaYuan 阅读(86) 评论(0) 推荐(0) 编辑