C. Liebig's Barrels】的更多相关文章

http://codeforces.com/contest/985/problem/C C. Liebig's Barrels time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output You have m = n·k wooden staves. The i-th stave has length ai. You have to as…
Liebig's Barrels time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output You have m = n·k wooden staves. The i-th stave has length ai. You have to assemble n barrels consisting of k staves each, y…
Liebig's Barrels time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output You have m = n·k wooden staves. The i-th stave has length ai. You have to assemble n barrels consisting of k staves each, y…
You have m = n·k wooden staves. The i-th stave has length ai. You have to assemble nbarrels consisting of k staves each, you can use any k staves to construct a barrel. Each stave must belong to exactly one barrel. Let volume vj of barrel j be equal…
题意: 有n * k块木板,每个木桶由k木板组成,每个木桶的容量定义为它最短的那块木板的长度. 任意两个木桶的容量v1,v2,满足|v1-v2| <= d. 问n个木桶容量的最大的和为多少,或者说明不可能做出这样的n个木桶. 思路: 贪心 要满足|v1-v2| <= d,那么就要满足最大的木桶容量和最小的木桶容量的差小于等于d. 所以先把木板长度排序,如果a[0] 到 a[0] + d这个范围内有大于等于n个木板,那么就存在合理的分配方案,因为可以把至少n个木板作为最短的木板. 然后就计算最大…
链接 大意:给定$nk$块木板, 要制作$n$个$k$块板的桶, 要求任意两桶容积差不超过$l$, 每个桶的容积为最短木板长, 输出$n$个桶的最大容积和 假设最短板长$m$, 显然最后桶的体积都在$[m,m+l]$范围内, 就是说需保证每个桶都至少有一块板在$[m,m+l]$范围. 考虑贪心逐步调整, 假设$m+l$足够多的话, 可以先尽量连续得选最短的边做桶, 最后将$m+l$分给剩余桶即为最大容积. 如果不够多的话, 就要选出$m+l-1$分给剩余桶, 还不够就选择$m+l-2$, 直到所…
题目 题意: 有n * k块木板,每个木桶由k木板组成,每个木桶的容量定义为它最短的那块木板的长度. 任意两个木桶的容量v1,v2,满足|v1-v2| <= d. 问n个木桶容量的最大的和为多少,或者说明不可能做出这样的n个木桶. 思路: 一道纯粹的贪心题,可以确定最小的数MIN,那莫其他区间的最小的数就不能大过MIN+l ,  可以想出假设我们从小到大排序,我们的目的是尽可能的把不满足条件的与满足条件的最大反正一个区间里面.我们可以用sum标记,如果扫描的时候遇到不满足的,sum++,这表示不…
题目链接:https://codeforces.com/contest/985 ’A.Chess Placing 题意:给了一维的一个棋盘,共有n(n必为偶数)个格子.棋盘上是黑白相间的.现在棋盘上有n/2个棋子,让你全部移动到黑色格子或者白色格子,要求步数最少,并输出步数. 题解:由于黑色或者白色都是固定位置,我们对棋子位置排个序,然后全部移动到任意一个颜色,取两个最小步数的最小值就好了. #include<bits/stdc++.h> #define clr(x) memset(x,0,s…
http://codeforces.com/problemset/problem/768/F (题目链接) 题意 A,B两种物品可以装到栈中,每个栈只能存放一种物品,容量没有限制.现在讲所有栈排成一列,AB相间,问存B的栈长大于H的概率. Solution 震惊!F竟是个大水题...枚举长度隔板法搞一搞就好了.. 细节 注意判0分成0组的情况?LL 代码 // codeforces768F #include<algorithm> #include<iostream> #includ…
[题目链接]:http://codeforces.com/problemset/problem/768/F [题意] 让你把f个food和w个wine装在若干个栈里面; 每个栈只能装food或者是wine; 且装wine和food的栈交替出现; 然后是随机等可能地分配方案; 问你wine的栈里面,wine的数量都大于h的概率是多少; [题解] 可以把一个栈里面的东西看成是线性的; 即如果某个栈里面有3个food; 就相当于3个food排成了一排; 这样,原问题等价于; 有f个food放在直线上;…