10 2018 档案

摘要:一直以来只会Kruskal prim和dijkstra很像 只不过prim维护的是最短的边,而dijkstra维护的是最短的从起点到一个点的路径 同时prim要注意当前拓展的边是没有拓展过的 可以用堆优化 堆优化版本 阅读全文
posted @ 2018-10-31 22:44 Sugewud 阅读(498) 评论(0) 推荐(0)
摘要:树的重心的一些性质 以下摘自百度 树的重心也叫树的质心。找到一个点,其所有的子树中最大的子树节点数最少,那么这个点就是这棵树的重心,删去重心后,生成的多棵树尽可能平衡。 树中所有点到某个点的距离和中,到重心的距离和是最小的,如果有两个距离和,他们的距离和一样。 把两棵树通过一条边相连,新的树的重心在 阅读全文
posted @ 2018-10-31 20:42 Sugewud 阅读(136) 评论(0) 推荐(0)
摘要:在DAG中,拓扑排序可以确定dp的顺序 把图的信息转化到一个拓扑序上 注意转移的时候要用边转移 这道题的dp是用刷表法 还可以用记忆化搜索 阅读全文
posted @ 2018-10-31 16:02 Sugewud 阅读(283) 评论(0) 推荐(0)
摘要:题目链接 https://www.luogu.org/problemnew/show/P3953 觉得是dp,想了一个n*最短路长度的dp 发现数组开不下…… 而且我也不知道怎么在图上做dp 然后就写了个K=0的情况,写了个最短路计数,水了30分 同时写了个spfa判环,但是因为是多组数据所以没得分 阅读全文
posted @ 2018-10-31 11:04 Sugewud 阅读(330) 评论(0) 推荐(0)
摘要:题目链接 https://www.luogu.org/problemnew/show/P3952 去年考试这道题貌似20分 今天又写,怒干1个半小时,一次AC 重点是静下心来,理清思路,知道要干什么 然后慢慢地查错 之后自己造一些比较难的数据来测 这种细节巨多的题就要静下来,就好了 阅读全文
posted @ 2018-10-31 09:24 Sugewud 阅读(222) 评论(0) 推荐(0)
摘要:题目链接 https://www.luogu.org/problemnew/show/P3958 去年貌似只拿了30分 现在24分钟AC掉了 还是有进步的 注意在考场上自己出一些特殊的数据来测 比如这道题在一个球同时切上下的时候我的程序就有bug WA了一次 阅读全文
posted @ 2018-10-31 07:46 Sugewud 阅读(286) 评论(0) 推荐(0)
摘要:题目链接 https://www.luogu.org/problemnew/show/P1967 一眼看出思路,20分钟敲代码,40分钟调试 一个小时一次提交AC了这道题 首先有个结论 最大生成树上两两之间的路径一定是最大的,如果存在不是,那么这颗树就不是最大生成树 然后就树上倍增求最小边权就好了 阅读全文
posted @ 2018-10-30 22:32 Sugewud 阅读(130) 评论(0) 推荐(0)
摘要:题目链接 https://www.luogu.org/problemnew/show/P1084 这个很考码力…… 写得我……………… 大致思路 一般关于时间都有一个隐含的最大值 然后又是最小时间 所以就是最大值最小,二分答案 二分出时间后 就让每个军队尽量往上跳 跳不到根节点就停在那了 如果跳的到 阅读全文
posted @ 2018-10-30 21:18 Sugewud 阅读(181) 评论(0) 推荐(0)
摘要:题目链接 https://www.luogu.org/problemnew/show/P2680 这道题写着最短时间,那么完成的时间是所有时间中最长的 所以最大值最小可以想到二分答案 那么我就卡在了如果判定上…………………… 我们仔细想想,我们可以把一条边的边权变为0 也就是说使得一些计划时间变短 阅读全文
posted @ 2018-10-30 15:52 Sugewud 阅读(140) 评论(0) 推荐(0)
摘要:题目链接 https://www.luogu.org/problemnew/show/P1351 这道题40分钟AC掉了,不算快 但是我WA了三次…… 考试的时候只能交一次…… 首先我看到样例就给误导了,以为距离为2的路径只有儿子到爷爷这一段 然后分分钟敲好,加上去WA 然后仔细想了想,貌似还有一种 阅读全文
posted @ 2018-10-30 12:48 Sugewud 阅读(149) 评论(0) 推荐(0)
摘要:我独立想只想出来了前80分的做法,不过貌似我的做法离正解比较远 测试点1~2 直接看每个点有多少玩家且这个点时间为0即可 测试点3~4 看每个点有多少个起点 测试点5 暴力模拟过程即可 测试点6~8 每个玩家在起点的点记录下起点和终点 然后搜每一个点,算出如果要跑到这点应该在的起点,然后再根据这个起 阅读全文
posted @ 2018-10-29 22:26 Sugewud 阅读(210) 评论(0) 推荐(0)
摘要:NOIP2018提高组省一冲奖班模测训练(四) 这次比赛只AC了第一题,而且花了40多分钟,貌似是A掉第一题里面最晚的 而且还有一个半小时我就放弃了…… 下次即使想不出也要坚持到最后 第二题没思路 第三题想用分块搞一搞,然后发现空间开不下(其实可以用分块搞) 主要是认识了今天AK的曲恒毅大佬,收获很 阅读全文
posted @ 2018-10-28 21:18 Sugewud 阅读(443) 评论(0) 推荐(0)
摘要:NOIP2018提高组省一冲奖班模测训练(三) 自己按照noip的方式考,只在最后一两分钟交了一次 第一题过了,对拍拍到尾。 第二题不会。考试时往组合计数的方向想,推公式,推了一个多小时,大脑爆炸,还是一直推不出来(然而正解是dp??) 第三题打了暴力 如果是正式比赛的话,就在省一分数线徘徊。 第二 阅读全文
posted @ 2018-10-27 22:12 Sugewud 阅读(238) 评论(0) 推荐(0)
摘要:NOIP2018提高组金牌训练营——搜索专题 1416 两点 福克斯在玩一款手机解迷游戏,这个游戏叫做”两点”。基础级别的时候是在一个n×m单元上玩的。像这样: 每一个单元有包含一个有色点。我们将用不同的大写字母来表示不同的颜色。 这个游戏的关键是要找出一个包含同一颜色的环。看上图中4个蓝点,形成了 阅读全文
posted @ 2018-10-25 20:56 Sugewud 阅读(282) 评论(0) 推荐(0)
摘要:之前很多很多紫书上的东西我都忘了…… 抄题解的后果…… 做了一下裸题 https://vjudge.net/problem/UVA-10305 拓扑排序还可以来判环 用bfs貌似更好写 阅读全文
posted @ 2018-10-25 20:36 Sugewud 阅读(328) 评论(0) 推荐(0)
摘要:NOIP2018提高组金牌训练营——字符串专题 1154 回文串划分 有一个字符串S,求S最少可以被划分为多少个回文串。 例如:abbaabaa,有多种划分方式。 a|bb|aabaa - 3 个回文串 a|bb|a|aba|a - 5 个回文串 a|b|b|a|a|b|a|a - 8 个回文串 其 阅读全文
posted @ 2018-10-23 20:06 Sugewud 阅读(722) 评论(0) 推荐(0)
摘要:地址 https://www.51nod.com/live/liveDescription.html#!liveId=23 1187 寻找分数 给出 a,b,c,d, 找一个分数p/q,使得a/b < p/q < c/d,并且q最小。例如:1/3同1/2之间,符合条件且分母最小的分数是2/5。(如果 阅读全文
posted @ 2018-10-22 19:25 Sugewud 阅读(466) 评论(0) 推荐(0)
摘要:选课 今天又看了一下这道题,竟然AC不了了 自己的学习效率有点低下 要明白本质,搞透彻 阅读全文
posted @ 2018-10-22 17:25 Sugewud 阅读(340) 评论(0) 推荐(0)
摘要:比赛链接 NOIP2018提高组省一冲奖班模测训练(二) 今天发挥正常,昨天不在状态…… 花了很久A了第一题 第二题打了30分暴力 第三题投机取巧输出test1答案(连暴力都不知道怎么打,太弱了) 2585分和4个人并列rank3 还行吧 LXL的雕像 地主lxl拥有一块 n×m 的土地,有一天他突 阅读全文
posted @ 2018-10-21 21:05 Sugewud 阅读(253) 评论(0) 推荐(0)
摘要:#A: P4924 [1007]魔法少女小Scarlet 这道题考了矩阵旋转 其实很考验推公式的能力和代码能力 这里有个小技巧 可以设(x, y)为原点,然后去推公式,然后实际操作中横坐标加上x,纵坐标加上y就好了。 顺时针(i, j) -> (j, -i) 逆时针(i, j) -> (-j, i) 阅读全文
posted @ 2018-10-21 12:29 Sugewud 阅读(231) 评论(0) 推荐(0)
摘要:之前一直是用二分 但是因为比较难理解,写的时候也容易忘记怎么写。 今天比赛讲评的时候讲了一种用树状数组求LIS的方法 (1)好理解,自然也好写(但代码量比二分的大) (2)扩展性强。这个解法顺带求出以i为结尾的LIS,而很多题要用到这个数组来做 而二分的做法求得是当前长度下的最小值,不容易拓展。 具 阅读全文
posted @ 2018-10-20 22:08 Sugewud 阅读(1483) 评论(0) 推荐(0)
摘要:比赛链接 https://www.51nod.com/contest/problemList.html#!contestId=72&randomCode=147206 这次考试的题非常有质量 这次考试暴露了非常多的问题,心理给自己设限,知识点不熟练等等问题。 只拿了暴力的分。 奈芙莲的护符 Neph 阅读全文
posted @ 2018-10-20 21:00 Sugewud 阅读(828) 评论(0) 推荐(0)
摘要:比赛链接 https://vjudge.net/contest/263801#overview A - Crossword Answers 比较麻烦的一道模拟题。 我写的比较麻烦,应该有更简洁的写法 D - Optimal Symmetric Paths 一开始直接暴搜 然后突然看到方案数模1000 阅读全文
posted @ 2018-10-20 16:20 Sugewud 阅读(174) 评论(0) 推荐(0)
摘要:https://blog.csdn.net/qq_34416123 从CSDN搬过来 神奇的代码竟然没有弄成博客园这里面的格式 所以以前的很多博客的代码都是直接放在那里了。 懒得去改了。 阅读全文
posted @ 2018-10-19 23:13 Sugewud 阅读(110) 评论(0) 推荐(0)
摘要:dfs序可以维护一个子树内的信息 需要记录dfs进的时间以及所有子树都遍历完的时间 那么对于点i,L[i]到R[i]就是i的子树(包括i) 那么子树内维护信息就可以用树状数组,线段树之内的乱搞了。 poj 3321 用树状数组维护就好。 注意修改的时候一定是修改序列 阅读全文
posted @ 2018-10-18 18:20 Sugewud 阅读(249) 评论(0) 推荐(0)
摘要:(1)最后5分钟一定检查文件名,文件输入输出等等(2)一开始一定要看清题意,看两遍,然后做一个总的预估,暴力能打多少分,能想到多少分的做法然后确定做题顺序,开始做题 阅读全文
posted @ 2018-10-17 22:49 Sugewud 阅读(205) 评论(0) 推荐(0)
摘要:矩阵 A×B 模板题。 感觉写完结构体就可以为所欲为了。 Fibonacci 第 n 项 大概总结一下构造矩阵的方法 我们可以构造一个1x2的矩阵 使得 A是一个2*2的矩阵 可以求得A是 0 1 1 1 矩阵快速幂即可 Fibonacci 前 n 项和 在矩阵中加入一个sn进去就好了。 构造矩阵记 阅读全文
posted @ 2018-10-14 14:36 Sugewud 阅读(573) 评论(0) 推荐(0)
摘要:bzoj 1053 比较经典的一道题。 首先要观察出一些结论 (1)质数不超过10个。前十个质数相乘已经超过最大值。 (2)质数的指数是递减的。如果不是,可以把指数小的和大的交换一下,答案更小。 然后就搜索就好了。 这是一类数论+搜索的题目,要从题目看出一些剪枝,然后搜索即可。 bzoj 1257 阅读全文
posted @ 2018-10-11 22:51 Sugewud 阅读(168) 评论(0) 推荐(0)
摘要:poj 2689 要对数据敏感,L和R很大,但是L-R很小。 可以在(R - L)loglogR的时间内用筛法筛出所有质数。 然后扫一遍就好了。 有些细节要注意,有些地方会爆int,0和1不能算进去。 bzoj 1607 用类似筛法的思想,每个数把它所有的倍数的答案都加1 可能有相同的数,所以要优化 阅读全文
posted @ 2018-10-11 18:32 Sugewud 阅读(140) 评论(0) 推荐(0)
摘要:「一本通 1.2 练习 2」扩散 显然联通块的个数是随时间越来越少的。 所以可以二分时间。 经过一波运算,可以得出两点需要联通的时间是 (abs(x[i] - x[j]) + abs(y[i] - y[j]) + 1) / 2 然后每次用并查集维护一下联通分块就好了。 第一次写这种开结构体的并查集, 阅读全文
posted @ 2018-10-10 19:22 Sugewud 阅读(156) 评论(0) 推荐(0)
摘要:和二分非常类似的一个算法,与二分不同的是 二分是单调的,而三分是一个先增后减或者先减后增 三分可以求出峰值。 注意三分一定是严格单调的,不能有相等的情况。 不过貌似只有求函数最值才用到这个东西,没有二分应用范围那么广。 「一本通 1.2 例 3」曲线 画画图可以发现,满足先减后增 图和雅礼集训里Me 阅读全文
posted @ 2018-10-10 18:17 Sugewud 阅读(3017) 评论(0) 推荐(1)
摘要:很好的讲解 注意两端的字符要不同,同时数组要开大一些 【Manacher】最长回文子串 阅读全文
posted @ 2018-10-10 17:09 Sugewud 阅读(163) 评论(0) 推荐(0)
摘要:我是写给自己看的…… Day1 10.8 今天开始停晚修课了,开始认真备战考试了。 今天晚上效率不错,竟然不会累,应该是平时一直这个时间写作业大脑高度集中, 现在换了编程也一样可以集中到这个状态 一些感悟: (1)不认真静下来研究一个题解,而是看n多个题解,浪费时间 (2)行和列傻傻分不清,可以画图 阅读全文
posted @ 2018-10-08 22:35 Sugewud 阅读(404) 评论(3) 推荐(0)
摘要:大佬总结 这个玩意是可以动态维护第k大的值(比如中位数) 每次操作logn 我们要维护这两个堆。 我们可以以小根堆的堆顶为“分界线” 如果大于它,就加入小根堆 反之加入大根堆 如果两个堆的个数相差超过1, 就把多的那个堆的堆顶弹出来,加入另一个堆的堆顶 如果要求中位数的话,显然是两个堆中 个数多的那 阅读全文
posted @ 2018-10-08 19:32 Sugewud 阅读(1088) 评论(0) 推荐(0)
摘要:内容参考《算法竞赛进阶指南》 之前集训的时候听老师讲过,字符串题目中,hash一般不是正解,但是是一个优秀的暴力,可以拿比较多的部分分。 hash涉及内容很多,这里只讨论字符串hash 可以把字符串看成一个131进制位数,然后用ull储存,大过2的64次方后自动取模。 这样的话hash值相等的话可以 阅读全文
posted @ 2018-10-07 23:06 Sugewud 阅读(165) 评论(0) 推荐(0)
摘要:poj 1509 不知道为什么用算法竞赛进阶指南上的那个代码交上去会WA 正解在i == j只有j++。我自己是觉得没有什么区别的,迷。 AC代码 vijos 1382 好水。就处理出最小表示然后比较就好了。 阅读全文
posted @ 2018-10-07 22:43 Sugewud 阅读(139) 评论(0) 推荐(0)
摘要:模板 caioj 1177 KMP模板 caioj 1460: 【KMP】字符串匹配 重复子串结论 有一个结论。 对于字符串S[1~i],如果i % (i - next[i]) == 0,那么这个字符串就由很多个重复的子串构成(形如abababab) 每个循环节等于S[1~i-next[i]],循环 阅读全文
posted @ 2018-10-07 21:45 Sugewud 阅读(296) 评论(0) 推荐(0)
摘要:大佬总结 数列分块入门 1 数列分块入门 2 可以对每一个块进行排序,用vector存储每一个块的信息 可以发现lowerbond的值恰好就是小于x的个数 数列分块入门 3 用set简直太方便!!比vector方便多了!!set可以自动排序,增加删除都很方便。 数列分块入门 4 多开一个sum数组。 阅读全文
posted @ 2018-10-06 22:35 Sugewud 阅读(186) 评论(0) 推荐(0)
摘要:Merchant 有n个物品,第i个物品有两个属性ki , bi,表示它在时刻x的价值为ki × x + bi . 当前处于时刻0,你可以选择不超过m个物品,使得存在某个整数时刻t, t ≥ 0,你选择的 所有物品的总价值大于等于S. 给出S,求t的最小值。 很容易想到几个物品加起来的时候,价值是一 阅读全文
posted @ 2018-10-06 21:14 Sugewud 阅读(276) 评论(0) 推荐(0)
摘要:大佬总结 通俗有趣的讲解 二分图判定(染色法) poj 2492 二分图最大匹配 ——匈牙利算法 最小覆盖点集 = 最大匹配 poj 3041 把矩阵上的点转化成边。点(x,y)即把x和y连一条边。 最后答案即是最小覆盖点集,又知最小覆盖点集 = 最大匹配 所以敲一遍模板就好了 poj 1274 裸 阅读全文
posted @ 2018-10-04 21:48 Sugewud 阅读(132) 评论(0) 推荐(0)
摘要:之前的总结 区间相关问题 NOIP2018提高组金牌训练营——贪心算法专题 #10005. 「一本通 1.1 练习 1」数列极差 小的先处理,最后肯定最大 大的先处理,最后肯定最小 两个优先队列维护即可 #10006. 「一本通 1.1 练习 2」数列分段 每一段尽量大就好了,不想敲了。 #1000 阅读全文
posted @ 2018-10-04 19:21 Sugewud 阅读(119) 评论(0) 推荐(0)
摘要:题目来自《算法竞赛设计指南》 Tire树是一种可以快速查找字符串的数据结构 模板 例题.前缀统计 问题: 给n个字符串和m次询问,每次询问给定一个串T,输出有多少个字符串是T的前缀 解答:加入每个字符串的时候在结尾节点加1, 给T后在Tire树上搜一遍,加上沿途字符串结尾的值即可。注意可能有重复的字 阅读全文
posted @ 2018-10-02 21:19 Sugewud 阅读(224) 评论(0) 推荐(0)
摘要:基础算法 倍增 贪心 分块 二分 三分 数据结构 线段树 对顶堆 数学 质数 约数 同余 组合 矩阵乘法 图论 二分图判定以及最大匹配 字符串 Tire树 KMP 最小表示法 Hash Manacher 其他 雅礼集训 对拍教程 阅读全文
posted @ 2018-10-02 16:04 Sugewud 阅读(182) 评论(0) 推荐(0)
摘要:poj 1985(模板题) 先随便找个点dfs一次找到距离最远的点,再从那个点再同样dfs一次,那个点到其他点最长的距离即为树的直径 不过这种方法不适用于有负权边 还可以用树形dp 树的直径是由其中一个端点到其他端点的最远距离和次远距离组成的 可以用这个性质来dfs 树形dp其实更好写 然后发现其实 阅读全文
posted @ 2018-10-02 11:33 Sugewud 阅读(128) 评论(0) 推荐(0)
摘要:点的距离(模板题) 树中两点间的距离就是d[u] + d[v] - 2 * d[lca(u, v)] 暗的连锁 这道题首先有个转化 切两刀能不能切断,取决于非树边,因为非树边会构成环 那么可以把非树边构成的环上所有的树边都覆盖一次 如果只覆盖一次,那么显然有唯一解 如果没有被覆盖,那就加上非树边的数 阅读全文
posted @ 2018-10-02 09:54 Sugewud 阅读(232) 评论(0) 推荐(0)
摘要:大牛线段树总结,非常棒 模板题 洛谷 P3372 【模板】线段树 1 caioj 1099 线段树区间最值 JSOI 2008 最大数 区间染色问题 poj 2777 因为只有30种颜色,而int是32位,所以可以用一个int来表示状态,相当于状态压缩 同理如果大于30,可以用long long 然 阅读全文
posted @ 2018-10-01 20:29 Sugewud 阅读(177) 评论(0) 推荐(0)
摘要:部分题目来自《算法竞赛设计进阶》 问题 给定一个长度为n的数列A,有m个询问,每次给定一个整数T,求出最大的k,满足a[1],a[2]……a[k]的和小于等于T(不会打sigma) 第一反应是二分,这个时候的复杂度是logn 还有第二种解法,用倍增的思想,复杂度为logk(所求答案)。显然倍增要好很 阅读全文
posted @ 2018-10-01 08:30 Sugewud 阅读(931) 评论(0) 推荐(0)