上一页 1 ··· 46 47 48 49 50 51 52 53 54 ··· 68 下一页
摘要: https://blog.csdn.net/weixin_42431507/article/details/105236247 这篇文章非常详细。 我发现,对于构造题,不要给自己添麻烦,能构造出的越简单越好,并且要善于发现题目的性质 题目告诉了我们dp是错的,所以我们要分析一下为什么dp是错误的,然 阅读全文
posted @ 2020-04-13 23:05 朝暮不思 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 首先根据数据大小发现肯定是不能暴力的,那么我们开始寻找性质 题目要求每k位循环,并且整个序列要是回文,这就说明了一点,那就是每一个循环节都要是回文数。 所以我们现在转化成了求将整个序列的k位变成同一个回文数的最小代价。 我们发现,就可以用贪心的思想,将数分成k组,每组有若干个,每组中的值都要相等并且 阅读全文
posted @ 2020-04-13 23:03 朝暮不思 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 题目的信息给的很明显,他告诉我们11个数是肯定能够填满这些颜色的 一个方面我们可以通过这个信息来推断题目所问的问题,发现1000以内的数的因子必定有一个在前11个质数之中,这样我们就发现了盲点 即使没有发现这点,我们也可以大胆猜测,直接对每个数进行分解质因数,之后枚举质数涂色,肯定也能得到答案 #i 阅读全文
posted @ 2020-04-13 22:58 朝暮不思 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 暂时还没有完全领悟这道题的递推写法,先放代码 #include<iostream> #include<algorithm> #include<cstring> #include<cstdio> #include<map> #include<string> #include<vector> using 阅读全文
posted @ 2020-04-12 22:58 朝暮不思 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 我们遇到数位dp题要求含什么的,都把他转化为不含什么的,这样就跟不要62这道题一模一样了 #include<iostream> #include<algorithm> #include<cstring> #include<cstdio> #include<map> #include<string> 阅读全文
posted @ 2020-04-12 22:26 朝暮不思 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 最大子矩阵和问题,一般都是用前缀和先计算行,然后枚举行,在列方向做单调队列 这样的复杂度是N^3,对于几百的数据足够了 #include<iostream> #include<algorithm> #include<cstring> #include<cstdio> #include<map> #i 阅读全文
posted @ 2020-04-12 15:57 朝暮不思 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 这种题肯定不会是暴力枚举,多半考虑是贡献 首先我们要想清楚的是,我每次操作,会对哪些节点产生影响,答案又是从哪些节点更新而来 很显然我们会从儿子,自身,父亲这三个角度去思考问题。 所以我们会设计状态 now[]表示自身被操作的次数,a[],表示被儿子影响的次数,b[]表示的是被孙子操作的次数,in[ 阅读全文
posted @ 2020-04-12 09:42 朝暮不思 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 首先发掘题目性质,题目要求,每个点,要不往左要不往右跳x 因此我们可能先想到排序,之后初始化答案为a[n]-a[1] 那么接下来考虑使用贪心的想法,首先,在接下来的情况左边界肯定不会往左挑,有边界肯定不会往右跳 而且我们要使左边界尽可能大,右边界尽可能小。所以枚举每个点的跳跃情况时,就找一下左右边界 阅读全文
posted @ 2020-04-11 20:32 朝暮不思 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 这道题目思维量还是挺大的,因为这道题也是维护集合关系,所以我们想到用并查集去维护。 我们应该想到的是,用map映射一下位置,因为原来的数据比较大,不宜维护并查集关系,并且设计两个原点 0 和n+1,表示ab集合,这招是常见手段,因为这两个点是特殊的。之前有到异或并查集也是设计一个另外的原点 又因为x 阅读全文
posted @ 2020-04-11 19:27 朝暮不思 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 对于异或的题目,很多都跟前缀和放在一起,比如说这题,让你求不相交区间异或值相等的个数 很容易想到用前缀和表示区间,现在考虑如何做到不相交并且不重复计算 1.二维循环,第一维从1开始,第二维一个用来统计,一个用来更新 统计的时候,从i开始到n,把这段里面的所有区间的异或值,都看看前面有没有相等的,之后 阅读全文
posted @ 2020-04-11 14:38 朝暮不思 阅读(150) 评论(0) 推荐(0) 编辑
上一页 1 ··· 46 47 48 49 50 51 52 53 54 ··· 68 下一页