【题解】拯救花园

问题描述

一天,晨晨发现自己的 n(2≤n≤100)只兔子跑到自己的花园里面,它们在尽情的吃 着她的宝贝花卉。          晨晨看在眼里痛在心里,她现在只能把兔子逐个的抓回笼子里面。而送 每只兔子回去的时间都不同,例如送第 i 只兔子回去需要 ti(1≤ti≤100)单位时间,那么 晨晨送第 i 只兔子来回共需要花费 2*ti 单位时间,另外每一只兔子单位时间的破坏力都不 同,例如第 i 只兔子单位时间内破坏 di (1≤di≤100)朵花。

现在的问题是,晨晨如何安排送这 n 只兔子回笼子才能使这些兔子的破坏最小。

输入格式

第一行:一个整数 n(1≤n≤100);

接着有 n 行,每行两个空格分开的整数 ti di,分别代表第 i 只兔子的送回去的时间, 和单位时间破坏力。

输出格式

一行:一个整数,代表这些兔子破坏多少花卉。

输入样例

6

3 1

2 5

2 3

3 2

4 1

1 6

输出样例

86

题解

假设我们已知最优序列,那么最优序列中定然满足$d[2] \times t[1] \times 2 < d[1] \times t[2] \times 2$,得$\frac {t[1]}{d[1]} < \frac{t[2]}{d[2]}$,即$\frac{t[i]}{d[i]}$为排序关键字,直接sort即可。

原文地址:https://www.cnblogs.com/kcn999/p/10801455.html

时间: 2024-11-04 20:52:05

【题解】拯救花园的相关文章

2018-2019赛季多校联合新生训练赛第六场(2018/12/15)补题题解

A 价钱统计(基础编程能力) 这个考点还是比较个性的,怎么四舍五入 解法 常规的讲如果四舍五入整数位的话,那么只需要在后面加个0.5然后强制转换一下就可以了 这个却要我们保留一位小数的四舍五入,那该怎么做呢 实际上我们只需要把这个数乘以10然后加0.5,强制转换后再除以10就可以了 代码 #include <bits/stdc++.h> using namespace std; double trans(double a) { a*=10; a+=0.5; a=int(a); a/=10; r

拯救莫莉斯题解

拯救莫莉斯题解 实际上是水题啦, 观察数据发现,\(m*n<=50,m<=n\),所以\(m<=sqrt(50)\)即\(m<=7\) 只可能是状压啊,搜索啊,矩阵啊 但是矩阵一般有一项非常大,大到\(O(n)\)做不了,所以基本排除, 搜索基本不可能的,毕竟吗m*n还是有50的, 所以状压, 水啊, 上代码吧: #include<bits/stdc++.h> using namespace std; const int N=56,M=147; int n,m,t,p,

【STL】栈+队列+优先队列(详)+ 拯救行动题解

一.栈 栈(stack)又名堆栈,它是一种运算受限的线性表.其限制是仅允许在表的一端进行插入和删除运算.这一端被称为栈顶,相对地,把另一端称为栈底.向一个栈插入新元素又称作进栈.入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素:从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素. 说通俗一点,就是一种有口无肛门的数据结构 咳咳...是一种满足"后进先出"规则的数据结构.有PUSH和POP两种操作.PUSH:把元素压入栈顶 POP:把元

题解—— [GDOI2014]拯救莫莉斯 状压DP

题面: 莫莉斯·乔是圣域里一个叱咤风云的人物,他凭借着自身超强的经济头脑,牢牢控制了圣域的石油市场. 圣域的地图可以看成是一个n*m的矩阵.每个整数坐标点(x , y)表示一座城市( 1\le x\le n,1\le y\le m1≤x≤n,1≤y≤m ).两座城市间相邻的定义为:对于城市(Ax, Ay)和城市(Bx, By),满足 (Ax - Bx)^2 + (Ay - By)^2 = 1(Ax?Bx)2+(Ay?By)2=1 . 由于圣域的石油贸易总量很大,莫莉斯意识到不能让每笔石油订购单都

题解——P1133 教主的花园DP

直接设二维状态具有后效性,会爆零 然后需要加一维 然后70 看了题解之后发现没有考虑1和n的关系 考虑之后,四十 然后懵逼 突然发现自己的ans更新写错了,导致每次ans都是第一个取30的情况的解 然后回到70 之后修改了一下初始化 初始化的时候也要注意排除自己假设之外的情况 100 #include <cstdio> #include <algorithm> #include <cstring> using namespace std; int n,dp[200200

【题解】Luogu P1357 花园

原题传送门 我们先将花圃断环为链,并将\([1,m]\)复制一份到\([n+1,n+m]\),最后要求\([1,n+m]\)是合法序列且\([1,m]\)与\([n+1,n+m]\)相等的序列的数量即可 \(m\)很小,珂以考虑状压,\(C\)是\(0\),\(P\)是\(1\),可以将长\(m\)的花圃压缩成一个数 我们先考虑\([1,m]\)的可行方法,直接暴力预处理 如何从\([1,m]\)转移到\([2,m+1]\):设\([1,m]\)的状态为\(a\),我们珂以将第一个数字删掉再在最

[题解] Luogu P2000 拯救世界

生成函数板子题...... 要写高精,还要NTT优化......异常dl 这个并不难想啊...... 一次召唤会涉及到\(10\)个因素,全部写出来,然后乘起来就得到了答案的生成函数,输出\(n\)次项的系数就好了. 下面把\(10\)个条件列一下 \[1 + x^6 + x^{12} + \cdots = \frac{1}{1-x^6}\] \[1+x^2+x^3+\cdots+x^9 = \frac{1-x^{10}}{1-x}\] \[1+x^2+x^3+x^4+x^5 = \frac{1

洛谷教主花园dp

洛谷-教主的花园-动态规划 题目描述 教主有着一个环形的花园,他想在花园周围均匀地种上n棵树,但是教主花园的土壤很特别,每个位置适合种的树都不一样,一些树可能会因为不适合这个位置的土壤而损失观赏价值. 教主最喜欢3种树,这3种树的高度分别为10,20,30.教主希望这一圈树种得有层次感,所以任何一个位置的树要比它相邻的两棵树的高度都高或者都低,并且在此条件下,教主想要你设计出一套方案,使得观赏价值之和最高. 输入输出格式 输入格式: 输入文件garden.in的第1行为一个正整数n,表示需要种的

福建省历届夏令营 花园

题目描述 小L有一座环形花园,沿花园的顺时针方向,他把各个花圃编号为1~N(2<=N<=10^15).他的环形花园每天都会换一个新花样,但他的花园都不外乎一个规则,任意相邻M(2<=M<=5,M<=N)个花圃中有不超过K(1<=K<M)个C形的花圃,其余花圃均为P形的花圃. 例如,N=10,M=5,K=3.则 CCPCPPPPCC 是一种不符合规则的花圃: CCPPPPCPCP 是一种符合规则的花圃. 请帮小L求出符合规则的花园种数Mod 1000000007 由