预处理
文章平均质量分 91
ProLightsfxjh
这个作者很懒,什么都没留下…
展开
-
UESTC 1256 昊昊喜欢运动 n^2的预处理 or 前缀和
1、直接暴力,☺☺写起来简单,快。很可能超时2、用n^2的预处理,直接搞出ans[i][j],然后O(1)的询问。当时2000的平方算成1e8级了,☺☺,事实上是1e6级。3、前缀和思想在输入的时候直接维护ans[ i ][ j ],表示在[1,i ]中j 出现了多少次,维护的时候注意把前一个的所有信息都要维护的这一项;然后每次询问扫M,判断ans[ y ][ i ]-ans[ x-1 ][ i ]是否大于0 。用cott计数;用前缀和相对n^2预处理memory小了很多,但显然n^2预处理要快一原创 2015-12-05 23:49:27 · 1387 阅读 · 0 评论 -
Codeforces Round #394 (Div. 2) C. Dasha and Password 贪心+预处理+枚举
题意:长度为n的密码必须包含至少一个字母一个数字一个非字母非数字的字符,给出n个长度为m的字符串,每个串取一个字符,要求移动最少的步数使所成的密码为合法的密码。贪心+预处理+枚举先贪心的预处理出每个字符串 v[i]的v[i].c表示移动到字母的最少步数,v[i].d表示移动到数字的最少步数,v[i].f表示移动到其它字符的最少步数。先把.c.d.f都初始化为INF,然后扫一遍字符串,如果不存在相应的请求则值依然是INF。因为n <= 50 所以显然是n^3的枚举,即枚举每一个.c.d.f要求它们来自原创 2017-02-01 12:19:59 · 867 阅读 · 0 评论 -
Codeforces Round #380 (Div. 2) C. Road to Cinema 预处理+二重二分法+贪心
题意:从出发点0到目标点s,经过k个加油站,每个加油站可以在瞬间把车子的油箱加油加满,然后有n辆车子可以选择,每辆车有两个属性c、v分别表示花费、油箱容量,此外如果车慢速行驶,则每km耗油1升花时间2mins;如果高速行驶,则每km耗油2升花时间一分钟。求能够在 t 内从0到达s的情况下的最小花费。预处理+二重二分法+贪心把所有的车根据花费为第一优先级升序以容量为第二优先级降序排列然后预处理,使得,排在后面的车子的油箱容量必然大于等于前面的车子的容量,即把那些花费多但油箱容量小的车去掉。扫完后排个原创 2016-11-20 21:36:10 · 793 阅读 · 0 评论 -
Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) C. Ray Tracing 模拟+预处理、几何
模拟+预处理、几何首先每个点只有 2 条 abs(k) == 1的直线, 并且每条线最多经过一次,即每个店做多经过2次, 所以复杂度是O(n)的,模拟是可行的故先在读入的时候把该点 对应的 2 条 abs(k) == 1的直线 然后分别求出 他们与 矩形边框的2个交点 a(x1, y1),b(x2, y2) cnt[make_pair(a, b)].push_back(x, y); 即x, y 在 线段(a, b) or (b, a)上然后初始的时候 x0 = 0, y0 = 0; if(n <原创 2016-10-13 23:39:01 · 1006 阅读 · 0 评论 -
Gym 100952H Special Palindrome 非递减的回文串、dfs打表、查数列网站OEIS
非递减的回文串、打表比赛结束后看了下public 的代码就我们队是打表过的, 别人都是正规的过的, ⊙﹏⊙‖∣尴尬分奇偶用 dfs 搞出非递减的左半边串, 然后求出这个的和 ans[sum + i]++;对于偶数个的直接dfs, 对于奇数的则枚举mid, 然后依次dfs然后只打了前ans[50] 及以前的, 因为后面的比较大时间不够的, 所以打出前50的表然后到数列网站 OEIS 查了一下, 还真有,☺☺所以把那前250个ans贴到 txt里, 然后写一个中间程序 把这些数据 转换成 printf原创 2016-08-10 01:43:40 · 2134 阅读 · 3 评论 -
UESTC 2016 Summer Training #4 Div.2 A - (。•_•。) 预处理打表
for for 枚举C(m, 2) 打好表, 然后然后找出最小的最大值 (。•_•。) 题目很简单, 人人过的题, 但觉得还是有点意思所以也整理到这里原创 2016-07-16 00:27:19 · 879 阅读 · 0 评论 -
2016 UESTC Training for Dynamic Programming C - 柱爷的下凡 预处理打表、背包问题
预处理打表这个三个数 必有 1 所以只要枚举完1 < j, k <= n就好了,当然记录好每个N对应min的 ans2[n], ans3[n]然后输出到txt,然后paste 进去。O(1)的查询, T次查询故复杂度O(n);原创 2016-05-17 11:45:06 · 1050 阅读 · 0 评论 -
Codeforces Round #352 (Div. 2) C. Recycling Bottles __ geometry, greedy and pretreat
geometry, greedy and pretreat.First of all, the distant will be sigma{ 2*distan of Bottle to the recycling bin}, then the first choices of the bottle make it different.As we can know, there at least one person should walk to a Bottle and put it to the原创 2016-05-12 11:47:30 · 1858 阅读 · 2 评论 -
UESTC 1269 ZhangYu Speech 预处理、前缀和
as we all know, ZhangYu(Octopus vulgaris) brother has a very famous speech - "Keep some distance from me". ZhangYu brother is so rich that everyone want to contact he, and scfkcf is one of them. One day , ZhangYu brother agreed with scfkcf to contact him原创 2015-12-20 18:12:21 · 1309 阅读 · 0 评论 -
Codeforces Round #447 (Div. 2) D. Ralph And His Tour in Binary Country 二叉树、预处理、二分、数据结构
题意:给出一颗二叉树,每条边有一个权值,q个询问,每次询问以x为起点,到yi点,求max(H - xyi, 0)求和。二叉树、预处理、二分、数据结构先在每个节点维护 该点 到 以其为根的点 的距离,且排序(笔者用的c++的sort所以比归并排序多出一个logn),并维护n个前缀和。这里时间复杂度 O(nlognlogn) 空间复杂度 O(nlogn)。然后查询的时候,对于x点进行二分可以找出答案,然后向上回溯,且维护一个变量sumlx为其祖先节点到x的距离。查找该节点所在的链的隔壁的子树,进行二分原创 2017-12-08 13:34:43 · 580 阅读 · 0 评论