上一页 1 2 3 4 5 6 ··· 59 下一页
摘要: 题目大意:给定n个点的树,求树上路径长度不大于k的路径条数 题解:点分治模板 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int N=1001 阅读全文
posted @ 2021-05-27 20:56 ANhour 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有n个商品,每个商品有pi利润和di过期时间,每天只能卖一件商品,求最大利润。 题解: 将商品按过期时间从小到大排序。 建一个堆,里面存可以卖的商品,每加入一个商品后,如果heap.size()>di,说明已经超出该商品的保质期, 将堆中利润最小的那个商品删除。 #include<iost 阅读全文
posted @ 2021-05-24 20:21 ANhour 阅读(74) 评论(0) 推荐(0) 编辑
摘要: (这排版我真搞不懂,明明我这边是OK的) 题目大意: 给定 m 个序列 每个包含 n个非负整数。 现在我们可以从每个序列中选择一个数字以形成具有 m个整数的序列。 很明显,我们一共可以得到 n^m 个这种序列,然后我们可以计算每个序列中的数字之和,并得到 n^ m 个值。 现在请你求出这些序列和之中 阅读全文
posted @ 2021-05-21 22:35 ANhour 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 题目大意:一棵树,边有权值。现在定义路径的值为路径中边的权值的异或值,求异或值最大的路径。 题解: 从a到b路径的异或值=a到根结点的异或值^b到根结点的异或值。 这样求出每个点到根结点的异或值,然后从n个数中选出异或值最大的数就可以。 把n个数插入Trie树中做。 #include<iostrea 阅读全文
posted @ 2021-05-20 19:07 ANhour 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 题目大意:从n个数中选出两个数异或,求最大的异或值。 1≤N≤10^50≤Ai<2^ 31 题解: 首先考虑暴力的写法 for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { ans=max(ans,a[i]^a[j]); } } 考虑用数据结构优化,对于每个 阅读全文
posted @ 2021-05-20 19:00 ANhour 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定n个字符串,然后给出m次询问,问n个字符串中有多少串是当前串的前缀? 题解:Trie树模板题 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; c 阅读全文
posted @ 2021-05-20 18:36 ANhour 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给一个字符串,假设长度为n,那么它就有n个后缀,求排名为i的字典序,并求出排序中相邻串的最长公共前缀。 题解:hash+二分(假设字符串从1开始) 如果将n个后缀字符串用sort排序,需要比较nlogn次,每次比较最差需要O(n),所以时间复杂度为O(n^2logn) 考虑将O(n)的比较 阅读全文
posted @ 2021-05-19 17:01 ANhour 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 题目大意:n个字符串,求每个字符串的最长子回文串。 回文串:正着读和反着读是相同。 题解:二分最长回文串的长度,hash判断是否是回文串。 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using 阅读全文
posted @ 2021-05-19 16:32 ANhour 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 题目大意:字符串hash模板题 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; #define N 1000002 #define ull unsigned 阅读全文
posted @ 2021-05-19 16:23 ANhour 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给N个串,问有无两个字符串有相同的循环同构串 题解: 方法一:hash+暴力判重 令每个字符的和与所有字符的积的和为字符串哈希值,相同同构串的哈希值一定相等。 然后哈希值相同串暴力判重。 方法二:两个字符串的循环同构则最小表示法相同。 #include<bits/stdc++.h> usi 阅读全文
posted @ 2021-05-19 16:07 ANhour 阅读(94) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 59 下一页