随笔分类 - 算法竞赛进阶指南
算法竞赛进阶指南题解
摘要:1.防晒 题目链接:https://www.acwing.com/problem/content/112/ (算法竞赛进阶指南) 思路:将所有牛所需要的区间排序,从后向前一次为牛选择防晒霜。当一个防晒霜可以同时满足两头牛的时候,优先满足靠后的区间,因为前面牛可能有前面的防晒霜来满足。 代码: #in
阅读全文
摘要:题目来源:算法竞赛进阶指南 题目标签:离散化 题目链接:https://www.acwing.com/problem/content/105/ 方法一:使用map和结构体,先找到语音序列中最大的电影,再在里面找到字幕序列中最大的电影 代码: #include<stdio.h> #include<st
阅读全文
摘要:基础知识: 一维差分: 给区间[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
阅读全文
摘要:题目来源:算法竞赛进阶指南 题目标签:分治,坐标变换 题目链接:https://www.acwing.com/problem/content/100/ 思路:不断递归找到当前点是由上一层中哪个点变换而来,从第一层开始不断向上回溯,通过坐标的变换来找到当前层中的坐标。 #include <iostre
阅读全文
摘要:题目来源:算法竞赛进阶指南 题目标签:数论,快速幂 题目链接:https://www.acwing.com/problem/content/99/ 思路: 4. 约数个数:(c1 + 1) * (c2 + 1) * (c3 + 1).... 代码: #include <bits/stdc++.h>
阅读全文
摘要:题目来源:算法竞赛进阶指南 题目标签:递归,动态规划 题目链接:https://www.acwing.com/problem/content/98/ 思路:1.先用动态规划考虑三塔问题,状态转移方程为:d[ i ]=d[i - 1] * 2 + 1 (当前圆盘等于把当前圆盘上面的圆盘先移动到第二个塔
阅读全文
摘要:题目来源:算法竞赛进阶指南 题目标签:递归,二进制状态枚举 题目链接:https://www.acwing.com/problem/content/97/ 思路:通过二进制枚举第一行所有可能的更改状态。固定第一行以后,开始从第一行进行递归,如果有0则通过改变下面一个点的状态来改变当前点的状态,最后检
阅读全文
摘要:题目来源:算法竞赛进阶指南 题目标签:状态压缩DP,二进制状态枚举 题目链接:https://www.acwing.com/problem/content/93/ 思路:1. f [ state ][ j ] : 表示在state状态下,最后一个被选中的点是 j 点。 2.枚举所有可能出现的状态和最
阅读全文

浙公网安备 33010602011771号