
二分
王猛旗
在读研究僧
展开
-
二分答案1
ACM中的工作分配问题是一个典型的回溯问题,利用回溯思想能很准确地得到问题的解。下面就这个问题好好分析下。 问题描述: 设有n件工作分配给n个人。为第i个人分配工作j所需的费用为c[i][j] 。试设计一个算法,计算最佳工作分配方案,为每一个人都分配1 件不同的工作,并使总费用达到最小。 解题思路: 由于每个人都必须分配到工作,在这里可以建一个二维数组c[i转载 2016-03-31 12:40:29 · 686 阅读 · 0 评论 -
文章标题
题意:用半径相等的两个圆覆盖一个w*h的矩形,要求两圆不相交且必须在矩形内。求覆盖面积最大时两圆半径。思路:直接用二分法,题目要求输出小数点后三位。ESP的应用。#include<cstdio>#include<cmath>#include<algorithm>using namespace std;const double ESP=1e-8;int main (){ do原创 2016-05-29 17:02:51 · 282 阅读 · 0 评论 -
POj-3104 Drying 二分+贪心
题目大意:有n件湿的衣服,每件衣服都有相应的湿度,每分钟每件衣服的湿度减1(除了在烘干机里的衣服),现在有一个烘干机,烘干机一分钟可以让一件衣服的湿度降低k,问至少要花多少分钟才能使每件衣服的湿度为0解题思路:贪心的话,每分钟都要使用到烘干机。 枚举时间,如果湿度小于等于时间的话,就不用考虑了,在枚举时间内肯定会干的 如果湿度大于枚举时间的话,就要考虑一下了,该衣服要在给定时间内湿原创 2016-04-21 14:41:58 · 469 阅读 · 0 评论 -
F(k)<(维护+枚举)\(找规律+递推+枚举)>
题意 小明有一个不降序列(f(1),f(2),f(3),……),f(k)代表在这个序列中大小是k的有f(k)个。我们规定f(n)的前12项如下图。n 1 2 3 4 5 6 7 8 9 10 11 12f(n) 1 2 2 3 3 4 4 4 5 5 5 6原创 2016-05-30 21:26:21 · 619 阅读 · 0 评论 -
HDU-5289<two pointers>
题意:求一个数列中存在多少个区间,每个区间内的数的差不超过k;思路:two_pointers;#include#include#include#includeusing namespace std;const int N=1e5+5;int n,a[N],k;int main (){ int t; scanf("%d",&t); while原创 2016-04-23 12:13:04 · 385 阅读 · 0 评论 -
华哥倒酒<区间标记,二分>
题目链接#include<cstdio>#include<cstring>#include<algorithm>using namespace std;typedef long long LL;const int maxn=400000+10;int a[maxn],v[maxn],s[maxn],t[maxn];LL sum[maxn];//标记区间int n,m;int che原创 2016-07-28 15:36:29 · 460 阅读 · 0 评论