摘要: 类似于区间树,在各个节点保存的是一条线段(子数组),可高效解决连续区间动态查询问题。 *单点或区间的修改 区间的最值以及求和 可基本保持单次操作为log的复杂度。 线段树的每个节点表示一个区间,子节点则分别表示父亲节点的左半区间和右半区间。如果父亲节点是[a,b],那么令c = (a+b) / 2, 阅读全文
posted @ 2017-10-08 11:02 ShawnZhou_Aether 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 原题链接:https://www.luogu.org/problem/show?pid=1967 说出来你可能不信,这题我爆了一整天的0。想获取更多真相者,请打开洛谷p1967题评测界面,输入用户名“zx2000412”,你就知道现状有多惨烈。 先说说思路吧。听说这道题是最大生成树,我就按照这个思路 阅读全文
posted @ 2017-10-07 23:48 ShawnZhou_Aether 阅读(186) 评论(1) 推荐(0) 编辑
摘要: 200ms的板子,我尽力了,以我自己的能力没法再快了。。。 基于Kruskal的做法,跑了200ms,以我自己的能力没办法再快了,不过翻了几页评测列表发现我是最快的。。。我觉得应该会有更快的方法。想法很简单,既然是最小生成树,把所有边按照边权升序排序,每次取一条最小权值的边,询问是否不在同一集合,如 阅读全文
posted @ 2017-10-07 11:21 ShawnZhou_Aether 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 人丑常数大,总是卡在1000多ms。。。 阅读全文
posted @ 2017-10-06 23:39 ShawnZhou_Aether 阅读(177) 评论(0) 推荐(0) 编辑
摘要: (具体内容请移步新博客) 阅读全文
posted @ 2017-10-06 01:05 ShawnZhou_Aether 阅读(685) 评论(4) 推荐(5) 编辑
摘要: 事情比较多。今晚参加了秋令营闭幕式,写了好多话,感触很多。 我觉得我得滚去补作业。 阅读全文
posted @ 2017-10-05 21:54 ShawnZhou_Aether 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 读入优化文件版本: 用的时候直接写a.read(),b[i].read()之类的就好。 比<queue>里面的普通队列常数小的写法(循环队列) 杂记 方便但龟速的vector版本邻接表 突然发现vector老人家还是可以当邻接表用的。 于是心生一念随手敲一spfa板子。 关键代码一,建图。写法上比链 阅读全文
posted @ 2017-10-04 23:54 ShawnZhou_Aether 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 身体感到不适。也许是常日对着电脑的缘故。 阅读全文
posted @ 2017-10-03 19:47 ShawnZhou_Aether 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 洛谷秋令营day1模拟赛原地爆炸,心态崩了。于是打算写一下初赛题放松一下。 上次胡乱分析到了选择题,这次我想说说后面的题。 问题求解 T1.有一个1x8的方格图形,黑白两色填涂每个方格,两个黑格并不能相邻,求方案数。 我敢保证当时考场上要是没人跟我说这题是斐波那契数列打死我也想不起来。 当时我的做法 阅读全文
posted @ 2017-10-02 17:13 ShawnZhou_Aether 阅读(1505) 评论(0) 推荐(2) 编辑
摘要: 对拍是OI系列赛事常用的检验方法之一,它用来检验自己写的“正解”到底正不正确。简要的说,就是用一个脚本文件比对两个输出结果来判断正确性。 要使用对拍,必须要有一个保证正确的暴力程序作为参照,这个程序虽然正确,但是由于时间复杂度较高所以无法拿到很高的分数,一般是拿到题后首先想到的比如暴力搜索之类的算法 阅读全文
posted @ 2017-10-01 22:14 ShawnZhou_Aether 阅读(587) 评论(0) 推荐(0) 编辑
摘要: 树状数组可以用来求区间元素的和。 与前缀和做法不同,它支持值的修改。 比如说,现在我有一个数列a,要求你维护这个数列,使其支持两个操作。 1.改变数列第k项的值 2.查询从第i项到第j项的总值 暴力做法总是过不了所有点的,如果使用暴力,虽然操作1是O(1)的,但是操作2是O(n)的,没人对此复杂度满 阅读全文
posted @ 2017-09-30 11:58 ShawnZhou_Aether 阅读(273) 评论(1) 推荐(1) 编辑
摘要: 最近在做历年的初赛题,那我捡几道比较有代表性的题说一下好了 原题可以在这里看:https://wenku.baidu.com/view/10c0eb7ce53a580217fcfede.html?from=search 以下纯属个人胡乱分析,不爽不要看(误 单项选择 T2.一只小老鼠在键盘的Caps 阅读全文
posted @ 2017-09-29 23:34 ShawnZhou_Aether 阅读(458) 评论(0) 推荐(0) 编辑
摘要: 到月底了呢。 距离NOIP还有43天,时间不多了。 爆肝一个多月的洛谷题库,可以说是收获颇丰了,表示学到了很多奇怪的思路和解法(可以称之为套路),虽然还有一些题写得不尽人意。。 由于说通了家里和班主任,我至少能在考试之前争取到大量的训练时间,和越来越深的黑眼圈。 emmm,想说一下十月的打算。 可能 阅读全文
posted @ 2017-09-28 23:10 ShawnZhou_Aether 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 小目标的最后一步。 原题链接:https://www.luogu.org/problem/show?pid=1054 精力不足,代码工作可能要放在后几天。。。 思路已经明确了,我说一下。 这道题的大意是给出若干表达式,问这些表达式的值和初始表达式的值是不是相等。 问题中给出了一个未知数a,这个a没有 阅读全文
posted @ 2017-09-27 23:48 ShawnZhou_Aether 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 原题链接:https://www.luogu.org/problem/show?pid=1064 带有附件的背包问题,它属于01背包的变式。 这题还好,每一个物品最多只有两个附件,那么我们在对主件进行背包的时候,决策就不再是两个了,而是五个。 还记得01背包的决策是什么吗? 1.不选,然后去考虑下一 阅读全文
posted @ 2017-09-26 23:39 ShawnZhou_Aether 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 原题链接:https://www.luogu.org/problem/show?pid=2296#sub *已更新 思路具体还是有的,不过代码出现了一些bug,我正在调试。 题目给了一个有向图,让我们在图中找一条从起点到终点的路径,该路径满足两个条件: 1.路径上的所有点的出边所指向的点都直接或间接 阅读全文
posted @ 2017-09-25 23:45 ShawnZhou_Aether 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 原题链接:https://www.luogu.org/problem/show?pid=1040 刚拿到这道题的我是懵逼的,因为刚开始除了暴力我完全想不到从哪入手。 其实这题是一个区间dp和dfs,代码还是挺简单的。 参考了一篇题解,对那位大佬表示由衷的敬意。 设f[i][j]表示在区间(i,j)内 阅读全文
posted @ 2017-09-24 23:48 ShawnZhou_Aether 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 原题链接:https://www.luogu.org/problem/show?pid=1828#sub 经典的最短路问题。 各位不要被题目条件迷惑了,牧场想象成点,道路想象成边,奶牛所在的位置想象成点权就好。 输入的是无向图,所以在正向连边时反向连边。然后我们枚举所有的牧场,以枚举到的牧场作为起点 阅读全文
posted @ 2017-09-23 23:50 ShawnZhou_Aether 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 有其他事情需要处理,今晚无法更新题解,各位谅解。 阅读全文
posted @ 2017-09-22 23:32 ShawnZhou_Aether 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 原题链接:https://www.luogu.org/problem/show?pid=1063 区间DP题,即把整个问题划分成若干个小区间求解。 这个题细节太多了。。。 最后犯了一个傻逼性错误,数组开小了,死活过不了最后两个点 现在洛谷关站维护中,所以这题我在codevs上跑的。 思路是用f[i] 阅读全文
posted @ 2017-09-21 23:50 ShawnZhou_Aether 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 原题链接:https://www.luogu.org/problem/show?pid=1965#sub 这题怎么说呢。。想通了应该就比较简单了。。 有这么一个感觉,如果题目给的输入数据特少而且输出只有一两个数,而且数据量还非常非常大,那这题保不准是要推公式了。 这题也是这样。如果说x=0,那么进行 阅读全文
posted @ 2017-09-20 23:46 ShawnZhou_Aether 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 原题链接:https://www.luogu.org/problem/show?pid=1032#sub 很奇怪,莫名其妙就A掉了。。。真神奇2333 洛谷红名留念。我会继续努力。 题意已经把做法写得特别露骨了。。。最小步数,最多6个变换规则。。。。广搜自不必说,不仅可以寻找解而且还能判断步数(根据 阅读全文
posted @ 2017-09-19 23:43 ShawnZhou_Aether 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 原题链接:https://www.luogu.org/problem/show?pid=1525#sub 我没记错的话之前夏令营题解我写过这个的吧? 再写一遍好了。。还是用正常向的补集法。 既然要让最大的冲突最小,那么我们应该优先拆冲突最高的两个人,把这两个人放到不同的监狱里才可以满足。 那么我们应 阅读全文
posted @ 2017-09-18 23:47 ShawnZhou_Aether 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 原题链接:https://www.luogu.org/problem/show?pid=1311#sub 暴力好想不好写,正解好写不好想。 刚开始读题的时候总给我一个感觉,那就是k可以不用。因为我们有时根本没必要去关心它的编号具体是什么。后来发现还真是。 如果是暴力枚举客栈的话,不能同时枚举两个客栈 阅读全文
posted @ 2017-09-17 23:37 ShawnZhou_Aether 阅读(177) 评论(0) 推荐(1) 编辑
摘要: 原题链接:https://www.luogu.org/problem/show?pid=1038#sub 翘了晚自习,在机房A掉了这道题。 其实这道题比较难看的是那个公式,有同学可能上来没能看明白(包括我也是 c[i] = w[i][j] * c[j] - u[i]. 如果是邻接表存图,把w[i][ 阅读全文
posted @ 2017-09-16 21:50 ShawnZhou_Aether 阅读(199) 评论(0) 推荐(0) 编辑