上一页 1 ··· 18 19 20 21 22 23 24 25 26 ··· 30 下一页
摘要: 最近又变怠惰了~~。努力找回状态吧。 A:签到题。 // Author: levil #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef pair<string,int> pii; const int 阅读全文
posted @ 2020-09-12 08:11 levill 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 这题挺好的吧:一开始看成或了。是异或。 首先,我们排个升序。 显然对于一个数,要将他变大,肯定是要和他小的来异或。 那么由于0异或上一个数没有变化。 所以我们不考虑0的情况。 首先,如果小的数的最高位的1和大的数的这一位都是1。 那么这个大的数显然会变小,且就算后面的都满足0 1都不会大。 因为2^ 阅读全文
posted @ 2020-09-10 21:23 levill 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 题意就是求子串在主串中的出现次数。 然后这里的子串是环形的,所以要特别处理一下,然后使用过的子串后面不能再去匹配。 首先,对于环形子串,我们化环为链然后慢慢取一段段来匹配即可。 显然这里是kmp匹配。然后map标记下是否出现过。 暴力的回溯的话就是找到了i = i-t.size()-1,j = 0。 阅读全文
posted @ 2020-09-10 17:10 levill 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 前言:数论很难也很有意思,慢慢回顾和慢慢学,记录自己的感悟和理解。 keeping going ! 欧拉函数: 假定phi(x)为x的欧拉函数,这个函数表示的就是1~i中和i互质的数。例phi(1) = 1,phi(2) = 1,phi(8) = 4。 欧拉函数的通式$phi(x) = x * \p 阅读全文
posted @ 2020-09-08 22:16 levill 阅读(210) 评论(0) 推荐(0) 编辑
摘要: A:签到题 // Author: levil #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef pair<string,int> pii; const int N = 1e5+5; const int 阅读全文
posted @ 2020-09-08 16:03 levill 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 太菜了太菜了太菜了~~ A:首先,要先理解这题的题意。 所有的区间都翻转了,才算做一次,然后求k次后的位置。 那么,我们可以先预处理出一次后每个点去到的位置,即一开始a[i] = i。 那么,我们就知道一次翻转的相对位置改变了。 那么,现在朴素的解法:k次遍历,每次都让i位置跳到a[i]即可。//这 阅读全文
posted @ 2020-09-08 09:20 levill 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 一道非常好的题,太菜了调了很久,细节非常多。 首先,将题意转化一下,由给定的两段都有的长度,可以组成多少种组合。 设dp[i]表示,长度为i的方案数。 那么有转移,$dp[i] = \sum_{j = 1}^{tot} dp[i-a[j]]$//tot为两段都有的元素个数,注意要去重 这里虽然可以用 阅读全文
posted @ 2020-09-08 07:24 levill 阅读(224) 评论(0) 推荐(0) 编辑
摘要: A:签到题 // Author: levil #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef pair<char *,int> pii; const int N = 105; const int M 阅读全文
posted @ 2020-09-06 08:54 levill 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 树上查询某一路径上的第k大。 首先,我们只需要处理出路径上的权值线段树即可。 我们建立根到u的前缀和主席树。 那么对于查询u,v。和树上距离的类似。 sum[u] + sum[v] - sum[lca(u,v]] - sum[fa[lca(u,v]]]。 因为这里的话,lca的值也需要算入。所以第二 阅读全文
posted @ 2020-09-05 18:49 levill 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 这题思考如何去查询。 我们可以建主席树。 那么对于区间的数量最多的数,我们可以“松弛“去查找。 当某个区间的数量大于一半时,我们就去找那个区间,然后到叶子节点,那么叶子节点的数量肯定就满足大于区间的一半。 显然这个数最多只能有一个,那么左右区间肯定只有一个被松弛到。 // Author: levil 阅读全文
posted @ 2020-09-05 15:20 levill 阅读(143) 评论(0) 推荐(0) 编辑
上一页 1 ··· 18 19 20 21 22 23 24 25 26 ··· 30 下一页