10 2019 档案

摘要:kma太颓废了 阅读全文
posted @ 2019-10-28 22:11 kma_093 阅读(198) 评论(2) 推荐(0)
摘要:题目链接: "题目链接" 题目分析 考虑暴力 枚举每个询问,从$l$到$r$依次把每个节点抓出来和$z$求$LCA$并累加$dep$,复杂度$O(n^2log(n))$ 考虑怎么优化,有两种入手点 一次性快速求出一大堆$LCA$~~(不会,告辞)~~ 或者能集中统计$dep$ 走后面一条路吧,前面一 阅读全文
posted @ 2019-10-28 18:14 kma_093 阅读(150) 评论(0) 推荐(0)
摘要:定义 (不严谨的口胡) 树链剖分将一棵树按照 某种方式 划分成多条链,再利用一系列 数据结构 对链上信息进行维护。 有什么用? 详见 "洛谷模板P3384" 支持: 求$LCA$ 路径信息维护 子树信息维护 ... 算法实现 怎么实现呢? ~~因为博主太菜了不会长链剖分,所以这里讲轻重链剖分~~ 据 阅读全文
posted @ 2019-10-27 20:21 kma_093 阅读(259) 评论(0) 推荐(0)
摘要:T1 tom 题意: 考虑一定是属于$a$的在一坨,属于$b$的在一坨,找到这条连接$a$和$b$的边,然后分别直接按$dfs$序染色即可 注意属于$a$的连通块或属于$b$的连通块可能在$dfs$树上不都体现为一棵完整的子树,所以需要都判断一下 T3太麻烦了不想写,先咕了 阅读全文
posted @ 2019-10-24 21:44 kma_093 阅读(112) 评论(0) 推荐(0)
摘要:T1 补票 Ticket 没什么好说的,不讲了 T2 删数字 Number 很后悔的是其实考场上不仅想出了正解的方程,甚至连优化都想到了,却因为码力不足只打了$O(n^2)$暴力,甚至还因为细节挂成了$40\ pts$ 以后还是应该多写一下码农题 规定一下,下面的$j$没有特殊说明,取值范围默认在$ 阅读全文
posted @ 2019-10-17 17:09 kma_093 阅读(230) 评论(0) 推荐(0)
摘要:题目链接: "CF402D" 题目分析: 首先考虑一下怎么求每个数的分数。把每个数分解到最后会发现它的坏质因子对它分数的贡献是$ 1$,好质因子对它分数的贡献是$1$,那么最后的分数就是好质因数 坏质因数 然后想一想怎么操作。我们的最优答案是把所有能除掉的负数分数的$gcd$全部除掉,一个很显然的贪 阅读全文
posted @ 2019-10-15 16:24 kma_093 阅读(106) 评论(0) 推荐(0)
摘要:T1:最大约数和 给定一个正整数 S,现在要求你选出若干个互不相同的正整数,使得它们的和不大于 S,而且每个数的因数(不包括本身)之和最大。S define N (1000 + 10) define int long long using namespace std; int n; int f[N] 阅读全文
posted @ 2019-10-09 21:48 kma_093 阅读(220) 评论(0) 推荐(0)
摘要:题目链接: "题目" 题目分析: 显然可以把过程分成以下几个过程 往前把能走的走完 向后转最接近$180°$的度数 向后把能走的走完 原地转完剩下的旋转操作 最后一步可以不用管,因为反正没有产生位移 需要操作一下的就是向后转的动作,用类似$0/1$背包的思想$DP$一下,然后余弦定理一下即可 代码: 阅读全文
posted @ 2019-10-06 14:44 kma_093 阅读(149) 评论(0) 推荐(0)
摘要:题目链接: "题目" 分析: 首先考虑这样一个东西 如果$t|a, t|b$,那么显然$a,b$拼起来也整除$t$ 那么如果$t|a$,$a,b$拼起来不整除$t$,一定有$t$不整除$b$ 于是事情一下好办了起来,类似读优的方式从左到右扫描并拆位,如果当前拆下来的左半边能整除就增量答案$cnt$ 阅读全文
posted @ 2019-10-06 10:05 kma_093 阅读(107) 评论(0) 推荐(0)
摘要:题目链接: "题目" 分析 最大的最小最小的最大 一看就非常的二分 考虑二分之后转化成判定联通问题 于是可以考虑 "奶酪" 直接维护联通好像很$GG$,正难则反考虑维护不连通 什么时候不连通,发现当左上角和右下角分在两个块里面就凉了 当上和右边或上和下边联通的时候左上角和右下角被分割在两块 另外两种 阅读全文
posted @ 2019-10-04 15:46 kma_093 阅读(105) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-10-04 11:45 kma_093 阅读(10) 评论(0) 推荐(0)
摘要:题目描述 政府邀请了你在火车站开饭店,但不允许同时在两个相连接的火车站开。任意两个火车站有且只有一条路径,每个火车站最多有50个和它相连接的火车站。 告诉你每个火车站的利润,问你可以获得的最大利润为多少。 输入格式 第一行输入整数N(N≤100000),表示有N个火车站,分别用1,2,... ,N来 阅读全文
posted @ 2019-10-03 22:42 kma_093 阅读(158) 评论(0) 推荐(0)
摘要:题目链接: "走这里" 题目分析: 考虑绝对值的几何意义,显然$b$里的数一定在$a$里出现过 离不离散化问题不大,用下标作第二位状态就行 设$dp[i][j]$表示第$i$个数,高度为$a[j]$时的最优解 方程见代码 代码: cpp include define int long long de 阅读全文
posted @ 2019-10-03 17:12 kma_093 阅读(150) 评论(0) 推荐(0)
摘要:题目链接: "翻转棋" 题目分析: 先状压/$dfs$枚举第一排状态,然后在每个$1$下面翻,即确定了第一排就确定了后面的状态 最后验证一下最后一排是不是全0即可 代码: cpp include define N 50 using namespace std; inline int read() { 阅读全文
posted @ 2019-10-03 17:05 kma_093 阅读(203) 评论(0) 推荐(0)
摘要:题目链接: "垃圾陷阱" 题目分析: $dp$,思路和题解大部分有点区别,建议按洛谷题解写,这个有点丑 看成$0/1$背包之后发现是菜题 先假设牛把有命吃到的垃圾全都食下去了,然后记成生命值按时间消耗 设$dp[i][j]$表示处理到第$i$个垃圾,生命值还剩$j$时的最高高度 具体方程看代码,懒得 阅读全文
posted @ 2019-10-03 16:55 kma_093 阅读(125) 评论(0) 推荐(0)
摘要:题目链接: "奶酪" 题目分析: 并查集维护联通,最好乘起来防止掉精度 代码: cpp include define int long long define eps 1e 8 define N (5000 + 10) using namespace std; inline int read() { 阅读全文
posted @ 2019-10-03 16:30 kma_093 阅读(136) 评论(0) 推荐(0)