上一页 1 ··· 63 64 65 66 67 68 69 70 71 ··· 83 下一页
摘要: 嘟嘟嘟 遇到这种无从下手且数据范围特别小的题,直接一波爆搜加剪枝就行了。 爆搜就是选到的数是严格从大到小的,这样才能保证复杂度是C(n, m)的,然后枚举每一个数是选了还是没选。 剪枝有这么几点。 1.如果当前值比x / y大,返回(显然~)。 2.如果当前值加上最小值仍比x / y大,返回。 3. 阅读全文
posted @ 2018-08-31 17:21 mrclr 阅读(189) 评论(0) 推荐(0)
摘要: 嘟嘟嘟 题中说任意两个点之间只有唯一1条路径,意思就是这是个树~ 概括一下,就是求min(c->a, c->b) + a->b 的最大值。 显然,让整体最大,那就让这两项最大即可,a->b的最大值显然就是树的直径,跑两遍bfs(最短路)就行。 至于第一项,枚举c,每一次求出a->c, b->c的两者 阅读全文
posted @ 2018-08-30 17:56 mrclr 阅读(367) 评论(0) 推荐(0)
摘要: 嘟嘟嘟 先考虑这两点: 1.如果我们有结束时间相同的课程,且达到的能力相同,那么我们一定选择开始时间最晚的。 2.如果有能力值相同的滑雪坡,我们一定选择时间最短的。 因此先预处理两个数组。cla[i][j]代表在 i 时刻结束,能力值达到 j 的课程中开始的最晚时间,ski[i]代表需要能力值至少为 阅读全文
posted @ 2018-08-30 11:44 mrclr 阅读(182) 评论(0) 推荐(0)
摘要: 嘟嘟嘟 暴力啊,统计当前数 i ,对是 i 的倍数的约数的贡献。 1 #include<cstdio> 2 #include<iostream> 3 #include<cmath> 4 #include<algorithm> 5 #include<cstring> 6 #include<cstdli 阅读全文
posted @ 2018-08-29 11:50 mrclr 阅读(155) 评论(0) 推荐(0)
摘要: 嘟嘟嘟 这道题题面我是看了小半天才懂(太菜了),然后就发现好水啊。 只要维护一个栈,存的是t,代表当前的正方形是2t * 2t的,然后从头开始扫序列,如果遇到2,就把栈顶元素取出来,然后放进去四个t - 1;如果遇到0,就往结果中加入当前栈顶元素t的2t * 2t. 此题最大范围是250 * 250 阅读全文
posted @ 2018-08-29 11:38 mrclr 阅读(143) 评论(0) 推荐(0)
摘要: 嘟嘟嘟 这很显然是一道dp题。 令dp[i][j]表示第 i 分钟末,疲劳度为 j 是的最大跑步距离,则 dp[i][0] = max(dp[i - 1][0], max(dp[i - j][j])) dp[i][j] = max(dp[i - 1][j - 1] + a[i]) 因为题中说即使疲劳 阅读全文
posted @ 2018-08-28 20:10 mrclr 阅读(244) 评论(0) 推荐(0)
摘要: 嘟嘟嘟 当看到n <= 50 的时候就乐呵了,暴力就行了,不过最暴力的方法是O(n7)……然后加一个二分边长达到O(n6logn),然后我们接着优化,把暴力比对改成O(1)的比对hash值,能达到O(n5logn),到勉强能过……不过我们还可以在优化一下,把第一个矩阵中所有边长为 l 的子矩阵的ha 阅读全文
posted @ 2018-08-28 16:40 mrclr 阅读(119) 评论(0) 推荐(0)
摘要: 嘟嘟嘟 首先想想暴力的做法,枚举加入的字符,然后判断删去这个字符后两个长度为n / 2的字符串是否相等,复杂度O(n2)。 所以可以想办法把判断复杂度降低到O(1),那自然就想到hash了。hash是能做到O(n)预处理,然后O(1)比较的。 取一段的hash值:hash[L, R] = hash[ 阅读全文
posted @ 2018-08-28 15:48 mrclr 阅读(183) 评论(0) 推荐(0)
摘要: 这里发一下luogu线段树2的代码~~ 1 #include<cstdio> 2 #include<iostream> 3 #include<cmath> 4 #include<algorithm> 5 #include<cstring> 6 #include<cstdlib> 7 #include 阅读全文
posted @ 2018-08-28 08:44 mrclr 阅读(195) 评论(0) 推荐(0)
摘要: 10.7更新:见最下面 离NOIP2018没剩多长时间了,我突然发现我连对拍还不会,于是赶紧到网上找资料,找了半天发现了一个特别妙的程序,用c++写的! 不过先讲讲随机数据生成吧。 很简单,就是写一个程序模拟输入数据,然后利用rand()编写随机数。 在头文件cstdlib中,有rand(), sr 阅读全文
posted @ 2018-08-27 21:53 mrclr 阅读(2482) 评论(1) 推荐(2)
上一页 1 ··· 63 64 65 66 67 68 69 70 71 ··· 83 下一页