摘要: 1100 斜率最大 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注 1100 斜率最大 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 1100 斜率最大 基准时间限制:1 秒 空间限制:131072 KB 分值:  阅读全文
posted @ 2017-08-14 09:43 只有你 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 1246 罐子和硬币 题目来源: FaceBook HackerCup 比赛题 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注 取消关注 1246 罐子和硬币 题目来源: FaceBook HackerCup 比赛题 基准时间限制:1 秒 空间限制:1 阅读全文
posted @ 2017-08-11 09:45 只有你 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 1521 一维战舰 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 关注 1521 一维战舰 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 1521 一 阅读全文
posted @ 2017-08-10 11:17 只有你 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 分析:搜索,每个数字分选与不选两种情况。 #include <iostream> using namespace std; int k; int a[22]; int n; bool is_ok(int x,int sum) { if(x==n) return sum==k; return is_o 阅读全文
posted @ 2017-08-09 16:47 只有你 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 分析:很巧妙的一个题。两只蚂蚁相遇后各自反向其实就等效于交错通过,因为两只蚂蚁的速度是一样的。 所以,要最短时间通过,则使得蚂蚁离哪端近就朝向哪端。同理可求最长时间。 代码: 1 #include <iostream> 2 using namespace std; 3 typedef long lo 阅读全文
posted @ 2017-08-09 10:29 只有你 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 分析:定义两个数组l和r,分别用来存储圆的左边界与x轴交点和圆的右边界与x轴交点,并升序排列。 然后枚举r数组中的点,通过二分法(STL)找到在l数组中第一个比r[i]大的元素的位置,累加(n-pos)即可。 代码: 1 #include <iostream> 2 #include <algorit 阅读全文
posted @ 2017-08-09 09:14 只有你 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 分析:按位置升序排列,找出中位数,求出中位数到各点距离即可。注意用long long。 为什么是中位数?假设排好序后的点为a、b、c、d、e.找一点x满足到这五个点距离和最小,要想到a和e(区间两端点)距离和最小,则x点一定在a和e之间。 同理,要到b和d距离和最小,x点一定在b和d之间。最后,要到 阅读全文
posted @ 2017-08-08 18:33 只有你 阅读(490) 评论(0) 推荐(0) 编辑
摘要: 分析:O(n^2)算法是预处理前缀和,然后先枚举子段左端点再枚举子段右端点(两个for循环)对结果进行更新.完美超时。 而实际上是没必要枚举右端点的,要想对结果更新则右端点的前缀和一定大于左端点的前缀和.所以嘛,可以对前缀和数组排个序(O(nlogn))。 这时候依旧枚举左端点,而右端点只可能是左端 阅读全文
posted @ 2017-08-08 16:52 只有你 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 分析:设dp[i][j]表示合并第i堆到第j推的最小代价(下标从1开始),则所求为dp[1][n]. 状态转移方程:dp[i][j]=min{ dp[i][k] + dp[k+1][j] + sum[i][j] | i<=k<j }. 而dp数组的更新是由小区间到大区间的更新,所以第一步枚举的变量应 阅读全文
posted @ 2017-08-08 10:56 只有你 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 分析:等比数列前(n+1)项和,公比为3,首项为1.所以ans=( 3^(n+1)-1 ) / 2 % 1000000007. 3^(n+1)用快速幂很好解决,而除法取模只需将除法变乘法即可,也就是用被除数去乘以除数的乘法逆元. 求乘法逆元用费马小定理:当模为素数,a的逆元为pow_mod(a,mo 阅读全文
posted @ 2017-08-08 09:40 只有你 阅读(443) 评论(0) 推荐(0) 编辑