摘要:
题目大意就是给定n个点,然后问你这n个点可以构成多少个矩形(这里每个矩形都是不一样的,即构成矩形的4个点不是完全相同)。做法就是把这n个点能构成的全部对角线都求出来,记录每条对角线的长度和中点坐标,假如枚举到一条... 阅读全文
摘要:
这题是贪心做的,题目要求对序列里的每个数,找另外一个数使得这2个数和的模最大,总共有2种情况1.a[i]+a[j]=p 由a[i]+a[j]>=a[i]+a[k]-p ,所以在a[j]存在的时候考虑前一种情况就可... 阅读全文
摘要:
这题是贪心做的,题目要求对序列里的每个数,找另外一个数使得这2个数和的模最大,总共有2种情况1.a[i]+a[j]=p 由a[i]+a[j]>=a[i]+a[k]-p ,所以在a[j]存在的时候考虑前一种情况就可... 阅读全文
摘要:
这题的存图方式很特殊,图是1e9*1e9的矩阵,用邻接矩阵存会爆,所以要用map容器存,可以走的点的坐标映射为-1即可,然后从起点开始bfs。顺便学了下pair的用法#includeusing namespa... 阅读全文
摘要:
这题的存图方式很特殊,图是1e9*1e9的矩阵,用邻接矩阵存会爆,所以要用map容器存,可以走的点的坐标映射为-1即可,然后从起点开始bfs。顺便学了下pair的用法#includeusing namespa... 阅读全文
摘要:
这里v是所选1到v这个序列的最大值,然后要求最小值,就要想到最大值最小化,就要用二分搜素#includeusing namespace std;#define ll long long#define inf 0x... 阅读全文
摘要:
这里v是所选1到v这个序列的最大值,然后要求最小值,就要想到最大值最小化,就要用二分搜素#includeusing namespace std;#define ll long long#define inf 0x... 阅读全文
摘要:
思路就是二分枚举起点到达终点能携带的最多财宝数量,原本的spfa是在dis[v]>dis[u]+w时就松弛起点到v点距离,但是这里加了一个条件要携带值为mid的财宝,所以还要判断一下这条边是否可以携带mid财宝... 阅读全文
摘要:
思路就是二分枚举起点到达终点能携带的最多财宝数量,原本的spfa是在dis[v]>dis[u]+w时就松弛起点到v点距离,但是这里加了一个条件要携带值为mid的财宝,所以还要判断一下这条边是否可以携带mid财宝... 阅读全文
摘要:
思路: 标记每个字符串前面的子串,如果一个字符串a,前面一个是字符串b,b是a的子串,然后就继续往前找,找到字符串c,然后 发现字符串c被标记了,说明c是b的子串,那么c必是a的子串,也可以这样理解如果b是a... 阅读全文