hdu 4442 Physical Examination (2012年金华赛区现场赛A题)

昨天模拟赛的时候坑了好久,刚开始感觉是dp,仔细一看数据范围太大。

 

题目大意:一个人要参加考试,一共有n个科目,每个科目都有一个相应的队列,完成这门科目的总时间为a+b*(前面已完成科目所花的总时间)。问:怎样安排考试的顺序使考完所花的总时间最短。

 

分析:假设已经花了time时间,在剩下的科目中任意取两个科目x,y。

        先考试x:Tx=time+(ay*time+ax+bx*by*(ax+time));

        先考试y:Ty=time+(by*time+bx+ax+ay*(bx+time))。

化简之后发现花费时间的差距在ax*by,ay*bx,那么按照ai/bi的大小进行排序就ok了。

 1 #include <stdio.h>
 2 #include <string.h>
 3 #include <stdlib.h>
 4 
 5 #define N 100010
 6 #define INF 0xffffffff
 7 #define MOD (365*24*60*60)
 8 
 9 struct node
10 {
11     __int64 a, b;
12     double s;
13 };
14 node stu[N];
15 
16 int cmp (const void *a, const void *b)
17 {
18     node *c = (node *)a;
19     node *d = (node *)b;
20     
21     return c->s > d->s ? 1:-1;
22 }
23 
24 int  main ()
25 {
26     __int64 n, i, sum;
27     
28     while (scanf ("%I64d", &n), n)
29     {
30         for (i=0; i<n; i++)
31         {
32             scanf ("%I64d %I64d", &stu[i].a, &stu[i].b);
33             if (!stu[i].a)
34                 stu[i].s = 0;
35             else if (!stu[i].b)
36                 stu[i].s = INF;
37             else
38                 stu[i].s = 1.0 * stu[i].a / stu[i].b;
39         }
40 
41         qsort (stu, n, sizeof(stu[0]), cmp);
42         sum = 0;
43 
44         for (i=0; i<n; i++)
45         {
46             sum += (stu[i].a + stu[i].b * sum) % MOD;
47             sum %= MOD;
48         }
49 
50         printf ("%I64d\n", sum);
51     }
52 
53     return 0;
54 }

 

转载于:https://www.cnblogs.com/alihenaixiao/p/4040659.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/258089.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

xsd学习教程

http://www.w3school.com.cn/schema/转载于:https://www.cnblogs.com/eric-lin/p/4969269.html

php 赋值 递增,PHP 基础(赋值及函数)

开端<?php>结尾弱类型语言 定义变量的时候 不需要 声明 但是 每一个变量前 都必须 加$ 符号储存文件按 统一放到 安装文件夹下面的 WAMP 下面 的WWW 文件内部 (与创的站点统一即可) 该文件下面不能出现中文注释语法&#xff1a; 单行注释&#xff1a;…

maven project创建填充项

GroupID是项目组织唯一的标识符&#xff0c;实际对应JAVA的包的结构&#xff0c;是main目录里java的目录结构。ArtifactID就是项目的唯一的标识符&#xff0c;实际对应项目的名称&#xff0c;就是项目根目录的名称。一般GroupID就是填com.leafive.test这样子。转载于:https://w…

【循序渐进学Python】14.数据库的支持

纯文本只能够实现一些简单有限的功能。如果想要实现自动序列化&#xff0c;也可以使用 shelve 模块和 pickle 模块来实现。但是&#xff0c;如果想要自动的实现数据并发访问&#xff0c;以及更标准&#xff0c;更通用的数据库(database)存储方式还是使用数据库。 1. Python 数据…

Foundation框架

1.框架是由许多类、方法、函数、文档按照一定的逻辑组织起来的集合&#xff0c;以便使研发程序变的更容易 清除缓存&#xff0c;删除这个文件夹下的所有文件/Users/fanyafang/Library/Developer/Xcode/DerivedData 显示隐藏文件&#xff1a;defaults write com.apple.finder Ap…

ubuntu上搭建php,ubuntu10.04上搭建php网站运行环境

ubuntu 10.04下搭建php网站运行环境ubuntu 10.04下搭建php网站运行环境前提&#xff1a;要打开root权限sudo password [这里填写root密码]1、第一步安装ubuntu10.042、更新源sudo apt-get update3、安装lighttpdsudo apt-get install lighttpd安装好之后检查lighttpd是否成功启…

Windows 10 Threshold 2 升级记录

昨天&#xff08;11月17日&#xff09;升级到Windows 10 Threshold 2版本。我的使用的设备是Surface Pro 3&#xff0c;4G内存&#xff0c;128G硬盘。 Threshold 2是作为一个Windows系统更新推送的。如果没有收到系统更新提示&#xff0c;在系统设置里面手动检查一下更新就可以…

转换php script类型,javascript如何实现值的类型转换

本篇文章给大家介绍使用javascript进行值的类型转换的方法&#xff0c;有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对你们有所帮助。JavaScript是松散类型的语言&#xff0c;大多数情况下&#xff0c;运算符和函数会自动将值转换为正确的类型(隐式转…

iOS屏幕适配方案-Auto Layout

市场上的android手机五花八门。各种尺寸的屏幕让android程序员们比較头疼。也有一些大神写了一些博客提出了自己的观点。iOS貌似也迎来了大屏6&#xff0b;&#xff0c;因此屏幕适配的问题也是有滴&#xff0c;因此苹果也有自己的方法&#xff0d;auto Layout 。本人初学iOS。今…

Exercise 12: Prompting People

age raw_input("How old are you? ") height raw_input("How tall are you? ") weight raw_input("How much do you weigh? ") print "So, youre %r old, %r tall and %r heavy." % ( age, height, weight) 转载于:https://www.…

一年一循环

一年了&#xff0c;没怎么关注博客园&#xff0c;回来看看。 希望自己今后多学多记录多分享。转载于:https://www.cnblogs.com/Chinarain/p/4974904.html

JAVA三角海伦公式,海伦公式求三角形面积出错求教

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼就下面这个程序 输入其他的数字都可以算出面积 但是当输入3,4,6时 计算出面积为零 求吧友指出错误在哪package javaapplication17;import java.util.Scanner;public class JavaApplication17 {public static void main(String[] ar…

虚拟机里面安装Openfiler 2.99

2019独角兽企业重金招聘Python工程师标准>>> 简介 Openfiler 由rPath Linux驱动&#xff0c;它是一个基于浏览器的免费网络存储管理实用程序&#xff0c;可以在单一框架中提供基于文件的网络连接存储 (NAS) 和基于块的存储区域网 (SAN)。Openfiler 支持 CIFS、NFS、…

win10如何搭建php,Win10系统怎么搭建php环境 win10搭建PHP环境方法

Win10系统怎么搭建php环境&#xff1f;win10搭建PHP环境方法。在今天的Win10系统使用教程中&#xff0c;我们将给大家分享的是在Win10系统下搭建Apache和PHP的开发环境的方法。可能有网友会问&#xff1a;Win10系统搭载Apache和PHP的开发环境的方法是不是与Win7/Win8.1的差不多…

关于jmf不能播放mp3的问题解决

想写个JAVA的MP3音乐管理器&#xff0c;使用JMF插件&#xff0c;但发现运行时总报一个异常&#xff1a;Unable to handle format: mpeglayer3, 44100.0 Hz, 16-bit, Stereo, LittleEndian, Signed, 16000.0 frame rate, FrameSize32768 bitsFailed to realize: com.sun.media.P…

LINK:fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

原文地址&#xff1a;http://yacare.iteye.com/blog/2010049 很多伙伴在更新VS2010&#xff0c;或者卸载VS2012安装2010后&#xff0c;建立Win32 Console Project/MFC项目时会出现"LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏"的错误。 错误描…

网站出现403 Forbidden

1&#xff0c; 你在一定时间内过多地访问此网站&#xff08;一般是用采集程序&#xff09;&#xff0c;被防火墙拒绝访问了 2&#xff0c; 网站域名解析到了空间&#xff0c;但空间未绑定此域名 3&#xff0c; 你的网页脚本文件在当前目录下没有执行权限 4&#xff0c; 服务器繁…

matlab离散信号卷积和,信号与系统实验(MATLAB版)实验7离散信号的卷积和.ppt

一、实验目的   1 熟悉离散时间信号卷积的定义、表示以及卷积的结果;    2 掌握利用计算机进行离散时间信号卷积运算的原理和方法;    3 熟悉离散时间信号的相关计算方法;    4 熟悉离散时间信号卷积运算函数conv和deconv的应用。   2. 卷积计算的几何解法…

学Linux从编译命令开始——arm-linux-gcc常用参数讲解

1.想要编译出ARM平台上的代码&#xff0c;需要四个步骤&#xff0c;预处理&#xff0c;编译&#xff0c;汇编&#xff0c;链接。 arm-linux-gcc有诸多选项 arm-linux-gcc -o main main.c  不加-c、-S、-E等参数&#xff0c;则同时进行四个步骤&#xff0c;生成可执行文件。 其…