Codeforces Round #214 (Div. 2)
2013-11-25 09:52
495 查看
题目链接
代码链接
A:
枚举4个门的守卫,看一下钱够不够贿赂,够的话就把多余的钱全给第二个人
B:
统计一下Sum[i%k],取最小的那个i,则答案为i%k
C:
方程转化为 sigma(ai-k*bi) = 0,以ai-k*bi为容量,ai为价值,背包一遍
D:
虽然l,r的范围很大,但是边最多3000条,则可行区间的左右端点的取值必然在这3000*2个值内。因此,枚举3000个左端点,二分右端点,dfs判断可行性,维护一个最大差值即是解
E:
预处理出note到note的最大曼哈顿距离,然后扫一遍乐谱得解。关键在于预处理的过程,时间上不允许从每个位置bfs一次。但是注意到曼哈顿距离的特殊性,在每一列维护note x的最大行和最小行,则第i列的a 与第j列的b 的最大距离为 max(ai.maxline-bi.minline, bi.maxline-ai.minline)+abs(i-j),复杂度m*m*k*k,1.5S过去了。存在把复杂度优化到m*k*k的方法,499MS,见代码。
代码链接
A:
枚举4个门的守卫,看一下钱够不够贿赂,够的话就把多余的钱全给第二个人
B:
统计一下Sum[i%k],取最小的那个i,则答案为i%k
C:
方程转化为 sigma(ai-k*bi) = 0,以ai-k*bi为容量,ai为价值,背包一遍
D:
虽然l,r的范围很大,但是边最多3000条,则可行区间的左右端点的取值必然在这3000*2个值内。因此,枚举3000个左端点,二分右端点,dfs判断可行性,维护一个最大差值即是解
E:
预处理出note到note的最大曼哈顿距离,然后扫一遍乐谱得解。关键在于预处理的过程,时间上不允许从每个位置bfs一次。但是注意到曼哈顿距离的特殊性,在每一列维护note x的最大行和最小行,则第i列的a 与第j列的b 的最大距离为 max(ai.maxline-bi.minline, bi.maxline-ai.minline)+abs(i-j),复杂度m*m*k*k,1.5S过去了。存在把复杂度优化到m*k*k的方法,499MS,见代码。
相关文章推荐
- Codeforces Round #214 (Div. 2)---C. Dima and Salad
- Codeforces Round #214 (Div. 2)
- codeforces round 214 div2(全)
- Codeforces Round #229 (Div. 2)A. Inna and Alarm Clock
- Codeforces Educational Codeforces Round 42 (Rated for Div. 2) D,E,F
- Codeforces Round #194 (Div. 2) D. Chips
- Codeforces Round #381 (Div. 2)C. Alyona and mex(构造题,好题)
- Codeforces Round #324 (Div. 2) E. Anton and Ira 贪心
- Codeforces Round #430 (Div. 2)A,B
- Codeforces Round #448 (Div. 2) C. Square Subsets
- Codeforces Round #430 (Div. 2) 签到题
- Codeforces Round #305 (Div. 2)--A. Mike and Fax
- Codeforces Round #430 (Div. 2) C. Ilya And The Tree dfs+set
- Codeforces Round #153 (Div. 2)
- Codeforces Round #180 (Div. 2)-B. Sail
- Codeforces Round #342 (Div. 2)(A)贪心,数学
- Codeforces Round #430 (Div. 2) D.Vitya and Strange Lesson 异或 01字典树补集最小
- Codeforces Round #382 (Div. 2)
- Codeforces Round #324 (Div. 2) 584D. Dima and Lisa
- Educational Codeforces Round 33 (Rated for Div. 2) D. Credit Card