上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 68 下一页
摘要: 首先观察到答案具有二分性,因此考虑二分答案。 对于check函数,朴素的想法就是枚举每个长度为mid的区间查询 我们发现区间gcd就等于区间最小值,因此考虑维护区间最小值和区间gcd 可以使用线段树维护,但是我们发现区间gcd也能使用st表维护 因此直接用st表维护这两个 #include<bits 阅读全文
posted @ 2020-08-27 20:29 朝暮不思 阅读(83) 评论(0) 推荐(0)
摘要: 最重要的是观察到一点,最优策略一定是走到最远不能走的地方在转弯 因为我们一旦转弯,就永远不能越过这条线,因为只能右转,其实就相当于一个蛇形 所以只需要暴力模拟即可 #include<bits/stdc++.h> using namespace std; typedef long long ll; t 阅读全文
posted @ 2020-08-27 16:37 朝暮不思 阅读(136) 评论(0) 推荐(0)
摘要: 这道题目考察了对于数据结构模型的运用和对于题目信息的理解与反思 首先观察到的是k很大,因此普通的方法并不可行。 但是观察题目可以发现,当所有城市的数量都是相同的时候,一定是按照一个循环取模就能找到答案 现在的问题是如何度过到将所有城市都相等。 题目的要求是,先选个数小的,第二关键字是标号小的,想象一 阅读全文
posted @ 2020-08-27 09:49 朝暮不思 阅读(164) 评论(0) 推荐(0)
摘要: 发现每个点的出度为1,也就是说路径总是固定的,有观察到k很大,显然是通过倍增算法进行维护 #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int,int> pll; typedef pai 阅读全文
posted @ 2020-08-26 17:28 朝暮不思 阅读(241) 评论(0) 推荐(0)
摘要: 观察本题,我们发现,如果某些操作每次都更新到了某个位置,那么我们可以通过维护bitset来发现这个对于这个位置来说的可能最大值 而且答案就是所有位置取一下或。因为我们发现对于每个位置,bitset上为1的那些数一定可以取到最大值。 但是这样过于暴力,我们发现这是一个区间操作,而区间操作一般和线段树相 阅读全文
posted @ 2020-08-26 15:15 朝暮不思 阅读(195) 评论(0) 推荐(0)
摘要: 显然最终的答案是一个不降序列,因为一旦有下降,一定可以将两段合并,这样字典序更小 那么其实就是不断维护加入的过程,刚开始是一个数字一段,一旦前面的平均值大于等于准备插入的,那么就一定要合并,因为这样才能使最后的答案为不降序列 #include<bits/stdc++.h> using namespa 阅读全文
posted @ 2020-08-25 21:58 朝暮不思 阅读(189) 评论(0) 推荐(0)
摘要: 最小斯坦纳树用于处理联通集合中指定的点的最小代价,一般来说可以通过其他不属于集合的点 最小生成树是特殊的斯坦纳树,它适用于联通集合中的所有点。 对于斯坦纳树,从两方面考虑他,首先我们定义f[i][s]表示以i为根,联通状态为s的情况 对于更新,从两个方面考虑,第一个方面,根不变,枚举子集更新当前状态 阅读全文
posted @ 2020-08-24 22:01 朝暮不思 阅读(189) 评论(0) 推荐(0)
摘要: 对于本题,要发现的一点是,因为0,1各代表一个字符串,因此我们可以暴力枚举0代表的是什么,1代表的是什么,一个是前缀,另一个受前一个控制。 对于判断两个子串是否相等,可以使用哈希,这里我采用的是后缀数组求lcp,只要比较一下是否大于等于我们枚举的长度即可。 最后我们要判断一下0和1代表的东西不能够相 阅读全文
posted @ 2020-08-24 17:57 朝暮不思 阅读(159) 评论(0) 推荐(0)
摘要: 观察到这个数据范围,显然不可能真的存这么大的邻接矩阵。 进一步发现,题目要求正方形矩阵的边长为偶数,并且里面的1为奇数 这启发了我们,因为边长为4的一定要用边长为2的拼接起来,这样边长为4的里面一定是偶数个1 因此直接特判掉n>=4的答案 剩下只有n==2,和n==3。 对于n==2,我们发现因为每 阅读全文
posted @ 2020-08-24 11:31 朝暮不思 阅读(189) 评论(0) 推荐(0)
摘要: 显然,我们先按x排序,之后其实很容易发现答案就是从后往前遍历在i后面每个满足距离条件的j的答案再加上之间的距离, 也就是f[j]+j-i,如果枚举二维,那么就会超时,我们发现这个其实就是取max,可以用线段树维护,但是我们进一步发现,对于i和i之前的,目前还没有算出来,因此直接使用树状数组也可以维护 阅读全文
posted @ 2020-08-23 22:52 朝暮不思 阅读(178) 评论(0) 推荐(0)
上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 68 下一页