随笔分类 -  算法竞赛进阶指南

算法竞赛进阶指南题解
摘要:1.防晒 题目链接:https://www.acwing.com/problem/content/112/ (算法竞赛进阶指南) 思路:将所有牛所需要的区间排序,从后向前一次为牛选择防晒霜。当一个防晒霜可以同时满足两头牛的时候,优先满足靠后的区间,因为前面牛可能有前面的防晒霜来满足。 代码: #in 阅读全文
posted @ 2020-08-11 03:34 锤子科技未来产品经理 阅读(123) 评论(0) 推荐(0)
摘要:题目来源:算法竞赛进阶指南 题目标签:离散化 题目链接:https://www.acwing.com/problem/content/105/ 方法一:使用map和结构体,先找到语音序列中最大的电影,再在里面找到字幕序列中最大的电影 代码: #include<stdio.h> #include<st 阅读全文
posted @ 2020-08-11 00:29 锤子科技未来产品经理 阅读(110) 评论(0) 推荐(0)
摘要:基础知识: 一维差分: 给区间[l, r]中的每个数加上c B[ l ] += c, B[ r + 1 ] -= c 二维差分: 给以(x1, y1)为左上角,(x2, y2)为右下角的子矩阵中的所有元素加上c S[x1, y1] += c, S[x2 + 1, y1] -= c, S[x1, y2 阅读全文
posted @ 2020-08-10 06:12 锤子科技未来产品经理 阅读(163) 评论(0) 推荐(0)
摘要:题目来源:算法竞赛进阶指南 题目标签:分治,坐标变换 题目链接:https://www.acwing.com/problem/content/100/ 思路:不断递归找到当前点是由上一层中哪个点变换而来,从第一层开始不断向上回溯,通过坐标的变换来找到当前层中的坐标。 #include <iostre 阅读全文
posted @ 2020-08-10 00:24 锤子科技未来产品经理 阅读(106) 评论(0) 推荐(0)
摘要:题目来源:算法竞赛进阶指南 题目标签:数论,快速幂 题目链接:https://www.acwing.com/problem/content/99/ 思路: 4. 约数个数:(c1 + 1) * (c2 + 1) * (c3 + 1).... 代码: #include <bits/stdc++.h> 阅读全文
posted @ 2020-08-09 12:33 锤子科技未来产品经理 阅读(80) 评论(0) 推荐(0)
摘要:题目来源:算法竞赛进阶指南 题目标签:递归,动态规划 题目链接:https://www.acwing.com/problem/content/98/ 思路:1.先用动态规划考虑三塔问题,状态转移方程为:d[ i ]=d[i - 1] * 2 + 1 (当前圆盘等于把当前圆盘上面的圆盘先移动到第二个塔 阅读全文
posted @ 2020-08-09 11:33 锤子科技未来产品经理 阅读(103) 评论(0) 推荐(0)
摘要:题目来源:算法竞赛进阶指南 题目标签:递归,二进制状态枚举 题目链接:https://www.acwing.com/problem/content/97/ 思路:通过二进制枚举第一行所有可能的更改状态。固定第一行以后,开始从第一行进行递归,如果有0则通过改变下面一个点的状态来改变当前点的状态,最后检 阅读全文
posted @ 2020-08-09 11:11 锤子科技未来产品经理 阅读(78) 评论(0) 推荐(0)
摘要:题目来源:算法竞赛进阶指南 题目标签:状态压缩DP,二进制状态枚举 题目链接:https://www.acwing.com/problem/content/93/ 思路:1. f [ state ][ j ] : 表示在state状态下,最后一个被选中的点是 j 点。 2.枚举所有可能出现的状态和最 阅读全文
posted @ 2020-08-09 07:41 锤子科技未来产品经理 阅读(97) 评论(0) 推荐(0)