题意:p, q,都是整数.

sigma(Ai * ki)>= p,

sigma(B* ki) >= q;

ans = sigma(ki)。输出ans的最小值

约束条件2个,但是变量k有100000个,所以可以利用对偶性转化为求解

ans = p * y1 + q * y2

约束条件为:

Ai * y1 + Bi * y2 <= 1 其中i为0~n-1

也就是n个约束条件。 后面三分搞搞就好了

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 const int maxn = 1e5 + 5;
 4 double A[maxn], B[maxn], p, q;
 5 int n;
 6 double check(double x){
 7     double y = 1e20;
 8     for (int i = 0; i < n; i++){
 9         y = min(y, (1-A[i]*x)/B[i]);
10     }
11     return p * x + y * q;
12 }
13 int main()
14 {
15     #ifndef ONLINE_JUDGE
16         freopen("in.txt","r",stdin);
17     #endif
18     while (~scanf("%d%lf%lf", &n, &p, &q)){
19         for (int i = 0; i < n; i++){
20             scanf("%lf%lf", A+i, B+i);
21         }
22         double l = 0, r = 1.0/(*max_element(A, A+n));
23         for (int i = 0; i < 250; i++){
24             double ml = (l + l + r) / 3;
25             double mr = (r + r + l) / 3;
26             if (check(ml) > check(mr)){
27                 r = mr;
28             }else{
29                 l = ml;
30             }
31         }
32         printf("%.20f\n", check((l+l)/2));
33     }
34     return 0;
35 }

转载于:https://www.cnblogs.com/oneshot/p/5052785.html

Codeforces Round #335 (Div. 1)--C. Freelancer's Dreams 线性规划对偶问题+三分相关推荐

  1. Codeforces Round #335 (Div. 2) D. Lazy Student 构造

    D. Lazy Student Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/606/probl ...

  2. Codeforces Round #335 (Div. 2)

    水 A - Magic Spheres 这题也卡了很久很久,关键是"至少",所以只要判断多出来的是否比需要的多就行了. #include <bits/stdc++.h> ...

  3. Codeforces Round #506 (Div. 3)

    Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...

  4. Codeforces Round #563 (Div. 2)/CF1174

    Codeforces Round #563 (Div. 2)/CF1174 CF1174A Ehab Fails to Be Thanos 其实就是要\(\sum\limits_{i=1}^n a_i ...

  5. 构造 Codeforces Round #302 (Div. 2) B Sea and Islands

    题目传送门 1 /* 2 题意:在n^n的海洋里是否有k块陆地 3 构造算法:按奇偶性来判断,k小于等于所有点数的一半,交叉输出L/S 4 输出完k个L后,之后全部输出S:) 5 5 10 的例子可以 ...

  6. Codeforces Round #696 (Div. 2) (A ~ E)超高质量题解(每日训练 Day.16 )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #696 (Div. 2) (A ~ E)超高质量题解 比赛链接:h ...

  7. Codeforces Round #712 Div.2(A ~ F) 超高质量题解(每日训练 Day.15 )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #712 Div.2(A ~ F) 题解 比赛链接:https:// ...

  8. Codeforces Round #701 (Div. 2) A ~ F ,6题全,超高质量良心题解【每日亿题】2021/2/13

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A - Add and Divide B - Replace and Keep Sorted C ...

  9. Codeforces Round #700 (Div. 2) D2 Painting the Array II(最通俗易懂的贪心策略讲解)看不懂来打我 ~

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 整场比赛的A ~ E 6题全,全部题目超高质量题解链接: Codeforces Round #700 ...

最新文章

  1. Google推出数据集搜索!百度,你怎么看?
  2. Microstation研发
  3. ASP编程常用的15个非常有用的代码及用法
  4. matlab匿名函数求导,Matlab中的匿名函数的使用
  5. 2017西安交大ACM小学期数据结构 [树状数组]
  6. 前端学习(2647):vue3.0的认识
  7. win7系统修复工具_205个电脑系统修复小工具, 联想工程师专用!
  8. html5游戏制作入门系列教程(四)
  9. oracle导入导出还原,Oracle 备份 还原 数据库 导入导出
  10. JSONObject跟JSONArray来自不同的包会有不同的功能
  11. linux的特殊符号与正则表达式
  12. zookeeper的zxid
  13. 建筑智能化资质升级需要的企业工程业绩
  14. 89---狄拉克 delta 函数
  15. 合并多个excel文件数据
  16. 竞赛练一练 第15期:电子学会2021年9月青少年软件编程(图形化)等级考试试卷(三级)...
  17. 限流是解决高并发大流量的一种方案,至少是可以保证应用的可用性
  18. 机器学习api_开发人员会喜欢的10种机器学习API
  19. 7牛-qshel的一些使用
  20. samba服务器在linux下如何运行共享

热门文章

  1. Android View与GroupView原理以及其子类描述
  2. java 数据结构源码--线段树
  3. 经典Golang语法50问!
  4. socket()函数详解!
  5. mysql二: 常用命令
  6. java web二: xml编程(CRUD)
  7. Visual Studio Plugins
  8. requireJS文件夹
  9. java IO之 File类+字节流 (输入输出 缓冲流 异常处理)
  10. 写一个参数返回二进制中1的个数