鸽了Div3,抱着维持手感的心态直接做D题,结果被自己菜到....题意是给你两个长度n数组,让你计算有多少对(i,j)满足ai+aj>bi+bj(i<j) 一开始想到二分,写了一半想不清楚怎么同时处理值和序号的大小关系, 于是又开始想树状数组。。因为有例题是用树状数组计算区间内比x小的数有多少,但是 ...
分类:
其他好文 时间:
2020-03-13 01:39:46
阅读次数:
74
题目:传送门 题意:有一个多边形的岛被海环绕着,给你岛的节点,问你岛上的点到离它最近的海的距离最大是多少。 思路: 这题实际上就是求,多边形的核的最大的内切圆的半径。 求多边形内核用半平面交即可,关键是求最大内切圆。 我们可以让多边形的每条边向里移动 x 个单位,判断是否存在内核。 我们可以二分这个 ...
分类:
其他好文 时间:
2020-03-10 20:19:06
阅读次数:
56
题意 给你一个数组$a$,只要满足$a_i=a_{i+1}$就可以将这两个元素合并成一个值为$a_i+1$的元素,问数组最小长度。 解题思路 记得之前某场的F和这题差不多,当时好像是相邻且相等就可以移除这两个数问最小长度。 看到$n$的范围就想到区间DP了,感觉是一道挺裸的区间DP板子题。 AC代码 ...
分类:
其他好文 时间:
2020-03-10 12:06:04
阅读次数:
43
题意:http://codeforces.com/contest/1323/problem/B 思路: 先预处理可能的矩阵,用pair配对配好 假设竖着的有n根,横着的有m根,一共n*m个矩形。也就是说每两根都有机会两两结合 那就把单独一根的数量算好,最后相乘就行了 1 #define IOS io ...
分类:
其他好文 时间:
2020-03-09 21:14:54
阅读次数:
69
题目:传送门 题意:让你求 2 <= n <= 400000, 1 <= ai <= 10000000 思路: 对每个二进制位单独考虑,若答案的第 i 位二进制位是 1,意味着有奇数对 (j, k) 满足 (aj + ak) 二进制第 i 位是 1. 那么考虑怎么算有多少对 (aj + ak) 满足 ...
分类:
其他好文 时间:
2020-03-08 17:34:21
阅读次数:
88
# 题意n名士兵,每个士兵的位置由一对整数(x,y)来表示,士兵可以进行移动,每一次可以上下左右移动,通过移动使所有士兵处于同于水平线,即y相同x相邻,求最少的移动次数,每个士兵只能占据一个单独的位置。 # 题解如果单纯的对横坐标求中位数,不能满足相邻这一个条件,对x进行排序后,要求使得士兵全部相邻 ...
分类:
其他好文 时间:
2020-03-07 09:52:02
阅读次数:
53
题目链接:https://www.luogu.com.cn/problem/P1074 详细讲解:https://www.luogu.com.cn/blog/cpp/solution-p1074 当暴力过不了的时候也可以考虑改变搜索的起点从而减少搜索树的大小 #include <algorithm> ...
分类:
其他好文 时间:
2020-03-06 23:57:56
阅读次数:
110
1 #include<bits/stdc++.h> 2 3 using namespace std; 4 5 map<int,int/*,greater<int>*/>mp; 6 //Tip: map按照key从大到小排序 map<int,int,greater<int>> mp; 7 8 bool ...
分类:
编程语言 时间:
2020-03-06 13:13:09
阅读次数:
67
ES6常用新特性 let && const let 命令也用于变量声明,但是作用域为局部 { let a = 10; var b = 1; } 在函数外部可以获取到b,获取不到a,因此例如for循环计数器就适合使用let。 const用于声明一个常量,设定后值不会再改变 const PI = 3.1 ...
分类:
其他好文 时间:
2020-03-04 14:24:51
阅读次数:
71