上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 30 下一页
摘要: 题目链接:http://poj.org/problem?id=1456 题意是给出一些商品的价值以及过期时间,现在每天只能卖出一个商品,问卖出商品的价值总和最多是多少,贪心算法可以解决,用一个集合表示决策 将商品按照过期时间进行排序之后顺序扫描,如果过期时间大于二叉堆中的商品数量就直接放入,若等于就 阅读全文
posted @ 2020-06-18 10:54 WA自动机~ 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=3764 我们可以在O(32*n)时间内求出一个长度为n的序列中取两个数的最大异或,而树中的异或有如下公式:path[x]=path(root,x) xor path(root,y),所以处理出path(root,i)之后就简化成了 简单 阅读全文
posted @ 2020-06-18 10:09 WA自动机~ 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.acwing.com/problem/content/145/ 给定一个长度为n的序列,求一个最大的逆序对。利用Trie,每个整数都在树的底部,沿着二进制位进行延伸,匹配的时候优先匹配不同位,因为不同位翻转之后能加在结果上。 代码: #include<bits/st 阅读全文
posted @ 2020-06-18 08:35 WA自动机~ 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 字符串S从任意位置开始扫描,到了结尾之后从头开始扫描,一共有n个串,他们彼此循环同构,为了求出串S的字典序最小的同构串,可以通过下面的线性时间复杂度的算法得到。 代码如下: #include<bits/stdc++.h> using namespace std; char s[100]; int m 阅读全文
posted @ 2020-06-17 18:06 WA自动机~ 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=1961 通过next数组求字符串截止到i位置的最小循环节以及循环次数,可以在O(N)时间内得出,通过这个方法可以求得字符串的任意长度的循环节。 代码如下: #include<iostream> #include<cstdio> usin 阅读全文
posted @ 2020-06-17 17:40 WA自动机~ 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.acwing.com/problem/content/140/ O(N)时间复杂度,很高效;对64位自动溢出取模 代码: #include<iostream> #include<cstdio> #include<string.h> using namespace s 阅读全文
posted @ 2020-06-17 15:38 WA自动机~ 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=3349 给出n个雪花,每个雪花有六角,如果两个角序列从某位置开始正序或者逆序是相等的,那就称这两个雪花相等,问是否存在两个相等的雪花。 使用Hash的思想,构造一个哈希函数进行定址,如果hash值相等就从这个值的链表中取出每个数进行判断 阅读全文
posted @ 2020-06-17 15:08 WA自动机~ 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.acwing.com/problem/content/description/137/ 首先考虑朴素算法,对于一个端点i,考虑前面的[i-m,i-1]的前缀和,sum[i]-minsum[j] 1<=i<=n,可以维护一个长度为M的队列,对于下一个i,搜索队列中的最 阅读全文
posted @ 2020-06-17 13:29 WA自动机~ 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.acwing.com/problem/content/135/ 可以证明每次切断的两段序列也是分别递减的,使用一个优先队列维护n个输入值的最大值,以及两个本来就有序的队列维护切断的两个序列即可。 注意本题需要使用longlong数据精度。 代码: #include< 阅读全文
posted @ 2020-06-17 12:11 WA自动机~ 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=2259 由于同一个队伍的一定是连续的排队的,所以用一个队列记录排队的队伍顺序,用N个记录每个队伍内部的顺序。 代码: #include<iostream> #include<queue> using namespace std; #de 阅读全文
posted @ 2020-06-17 10:46 WA自动机~ 阅读(156) 评论(0) 推荐(0) 编辑
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 30 下一页