ACM 算法集
常见ACM算法
狂飙的小蜗牛呦
当你想要放弃,想想为什么坚持这么久
展开
-
2020上海高校程序设计竞赛暨第18届上海大学程序设计联赛夏季赛(同步赛)
本弱鸡还有三题没补~~~~~~A 同源题意:有三个整数a,b,c和一个目标值k我们需要找满足gcd(a,b)=gcd(b,c)=gcd(a,c)=k并且a,b,c不能等于k,其中a+b+c=n问:是否存在满足条件的a,b,c,只需要输出一组,没有输出-1 -1 -1分析:由于数据范围很大1e18,如果暴力枚举前2个数a,b,复杂度是n*n这个复杂度明显不可以接收,然后我们需要剪枝,由于gcd都要是k,循环变量每次应该递增k,这样能加快一点。最关键的一个剪枝是:当n%k如果不等于0时,说明还有原创 2020-09-03 21:13:50 · 219 阅读 · 0 评论 -
Codeforces Round #642 (Div. 3) A-E详细题解
A. Most Unstable Array 题意:给出n,m。 n表示有n个数,m表示这n个数的总和。每个数都是正整数。 现在你可以随便把m拆成n个数,要保证拆完后的序列,相邻差的绝对值和要最大。解: 首先特判 n=1 ,答案一定为0,只有一个数嘛。n=2 的时候,2个数,答案要最大,一定是[m,0].这样绝对值差是m,即最大值。当n>=3时 ,我们可以发现, [0,m,0]这样去构造,答案是2原创 2020-05-16 12:26:18 · 196 阅读 · 0 评论 -
RMQ (Range Minimum/Maximum Query)
RMQ (Range Minimum/Maximum Query)问题是指:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在i,j里的最小(大)值,也就是说,RMQ问题是指求区间最值的问题。①朴素做法:我们遍历区间[l,r],找出最大值/最小值,一次遍历复杂度是O(n)如果n次查询,最坏的复杂度能到...原创 2020-04-17 14:46:41 · 214 阅读 · 0 评论 -
HDU Computer(树形dp好题)
ComputerTime Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 41793 Accepted Submission(s): 7933Problem Description A sc...原创 2020-04-07 19:16:22 · 395 阅读 · 0 评论 -
LeetCode 813 最大平均值和的分组 (区间dp)
LeetCode 813 题目链接:最大平均值和的分组 我们将给定的数组 A 分成 K 个相邻的非空子数组 ,我们的分数由每个子数组内的平均值的总和构成。计算我们所能得到的最大分数是多少。 注意我们必须使用 A 数组中的每一个数进行分组,并且分数不一定需要是整数。示例:输入:A = [9,1,2,...原创 2020-03-31 14:00:55 · 631 阅读 · 0 评论 -
POJ 2823 Sliding Window(滑动窗口) 线段树/deque/树状数组
题目vj地址:POJ 2823 题意:给出一个序列,长度为n,n最大1e6 。k表示区间长度。问区间长度为k的区间,最大值和最小值分别是多少。分析: 区间最大值和区间最小值,很容易想到线段树和树状数组等等。由于n最大1e6 线段树查询一次的复杂度logn 所以时间上是没问题了。先上个线段树AC代码 。。。。 后面还有deque的做法分析。时间:10313ms ,内存 44712kB...原创 2020-03-30 15:34:45 · 200 阅读 · 0 评论 -
统计颜色(牛客)-------变种线段树+技巧
链接:https://ac.nowcoder.com/acm/problem/15667来源:牛客网题目描述n个桶按顺序排列,我们用1~n给桶标号。有两种操作:1 l r c 区间[l,r]中的每个桶中都放入一个颜色为c的球 (1≤l,r ≤n,l≤r,0≤c≤60)2 l r 查询区间[l,r]的桶中有多少种不同颜色的球 (1≤l,r ≤n,l≤r)输入描述:有多组数据...原创 2020-03-30 15:16:13 · 386 阅读 · 2 评论 -
Educational Codeforces Round 84 (Rated for Div. 2)
A、Sum of Odd Integers题意: 给出一个n,k 。问n能不能被分解成k个奇数和,要求奇数唯一分析: 既然要分解k个奇数和,那么k为偶数,那么n必定是偶数,k为奇数,那么n必定是奇数。然后我们还需要考虑,是不是够分解,如果n很小,那么也是不满足的,例如 5,5 。由于奇数唯一,那么一定是1 3 5 7 9 …所以我们对于一个等差数列求和即可。然后只要sum<=...原创 2020-03-24 14:19:23 · 206 阅读 · 0 评论 -
HDU 2089 不要62(数位dp) 超级详细!!!
不要62Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 76677 Accepted Submission(s): 31213Problem Description杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交...原创 2020-03-20 14:10:48 · 280 阅读 · 0 评论 -
滑雪 OpenJ_Bailian - 1088 dfs记忆化
滑雪 Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子1 2 3 4 516 17 18 19 6...原创 2020-03-17 14:02:38 · 107 阅读 · 0 评论 -
CF CPS 2019 I. Another Query Problem
I. Another Query Problemtime limit per test5 secondsmemory limit per test512 megabytesinputstandard inputoutputstandard outputGiven the length n of an array A such that all Ai = 0 for all 1≤i≤n.You need to answer q queries of two types:1) 1 l r pr原创 2020-03-16 21:12:01 · 206 阅读 · 0 评论 -
P1903 [国家集训队]数颜色 / 维护队列 -------莫队算法
题目描述墨墨购买了一套N支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问。墨墨会向你发布如下指令:1、 Q L R代表询问你从第L支画笔到第R支画笔中共有几种不同颜色的画笔。2、 R P Col 把第P支画笔替换为颜色Col。为了满足墨墨的要求,你知道你需要干什么了吗?输入格式第1行两个整数N,M,分别代表初始画笔的数量以及墨墨会做的事情的个数。第2行N个整数,分别...原创 2020-03-11 15:37:54 · 372 阅读 · 0 评论