摘要: 题目链接: 如果查两个核心部门的最短距离m,需要一下步骤 + 首先需要两个核心部门所在大楼之间的最低楼高S是多少 + 然后在算出两个核心部门所在大楼的最低楼层T是多少 + 然后就可以分为两种情况来讨论了 1: S T, 那么m为两个核心部门所在大楼的楼距加上两个核心部门的层距。 2:S using 阅读全文
posted @ 2017-06-05 14:39 aiterator 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 题目链接: 做这个题的时候真的是。。。 数学忘完了, 失了智; 还是一位学弟的思路。 设置等腰三角形的下边长为1,其他的边都可以根据正余弦公式得出近似精确的长度。然后在根据正余弦公式算出所求角的大小。 代码如下: 阅读全文
posted @ 2017-06-05 14:24 aiterator 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 题目链接: 思路就是用线段树查找最左边第一个大于等于v的数,然后返回线段树下表即可。 代码如下: Cpp include using namespace std; struct node { int l, r; long long x, add; }; node tree[1000000 1; bu 阅读全文
posted @ 2017-06-05 14:19 aiterator 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 题目链接: 思路有两种: + 线段树查区间最小值和最大值 + RMQ查区间最小值和最大值 线段树代码: Cpp include using namespace std; const long long INF = 0x3f3f3f3f; long long n; long long a[100007 阅读全文
posted @ 2017-06-05 14:14 aiterator 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 题目链接: 就是将单词翻转一下, 没什么可写的, 代码如下: Cpp include using namespace std; string str; bool judge(char ch) { if(ch = 'a' && ch = 'A' && ch 阅读全文
posted @ 2017-06-05 13:38 aiterator 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 题目链接: 两种思路: + 1.用kruskal求这个图的最小生成树,由于kruskal算法先添加边权小的边,然后添加边权大的边。由这个性质可以知道,每添加完边r,如果s,t由不在一个树上两个点变为在同一个树上的两个点,那么这个边就是s,t路径上的最大值。即为答案。 + 2.用dijkstra算法求 阅读全文
posted @ 2017-06-05 13:34 aiterator 阅读(190) 评论(0) 推荐(0) 编辑