【背包DP】【2018.9.20普及组模拟】T3(WOJ 3975)保护羊村
题目(保护羊村):
【题目描述】
伟大的Yyz 帮助羊羊们逃出了城堡,可Jack 自然不会善罢甘休。“我会诅咒你们的!”杰杰恼羞成怒地喊道。回到羊村后,羊羊们发现羊村地震了。看来Jack的诅咒生效了。当务之急是修补因地震而坍塌的围墙。
围墙上有n 个圆形洞。第i 个洞的直径是d_i 米,修复第i 个洞的时间是t_i 分钟,一个洞开始修就必须修完。不妙的是,据可靠情报,灰太狼在c 分钟后就将袭击羊村,你的任务当然是使灰太狼来时剩余洞的总面积最小,以便羊羊们在灰太狼来时能够更好的防御。
【输入】
第1 行,一个正整数n,表示洞的总数。
第2~n+1 行,每行有2 个正整数d_i 和t_i(d_i,n_i≤10,000),d_i 表示 第i 个洞的直径,t_i 表示修复第i 个洞的时间。
第n+2 行,一个正整数c(c≤1,000,000),表示灰太狼将在c 分钟后到来。
【输出】
输出一行一个实数s,表示灰太狼来时剩余洞的最小面积。
π取3.1416,最后结果保留4 位小数。
【样例输入】
4
4 1
6 2
12 3
7 2
6
【样例输出】
28.2744
【数据范围】
80%的数据满足:1≤n≤15;
100%的数据满足:1≤n≤100
分析:
显然是一道背包DP(别问我为什么写挂了)
把洞看成物体,时间看成体积,洞的面积看成价值,这,就是一道01背包求最大价值。
代码:
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
#define N 120
int n,t[N],c;
double dp[1000100],pi=3.1416,ans,ans1,d[N],w[N];
double area(double r){double ans=r*r*pi;return ans;
}
int main(){scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%lf%d",&d[i],&t[i]);ans1+=area(d[i]/2.0); w[i]=area(d[i]/2.0);}scanf("%d",&c);for(int i=1;i<=n;i++)for(int j=c;j>=t[i];j--)dp[j]=max(dp[j],dp[j-t[i]]+w[i]);//标准背包模板printf("%.4lf",ans1-dp[c]);//总价值减最大价值return 0;
}
【背包DP】【2018.9.20普及组模拟】T3(WOJ 3975)保护羊村相关推荐
- 【jzoj】2018.1.30NOIP普及组——模拟赛D组
@_@ 前言 写博客时间 2018/1/30 22:36. 感想:出数据的dalao我服! 正题 题目1:二项式展开式(jzoj2254) 输入一个整数,求展开(a+b)^n.展开方式为 (a+b)^ ...
- 计蒜客信息学3月普及组模拟赛
A. 断幺九 题目链接 分值:100 时间限制:1000ms 测试点数目:10 B. 锈湖 题目链接 分值:100 时间限制:2000ms 测试点数目:10 C. 图 题目链接 分值:100 时间限 ...
- DD 摆磁铁(计蒜客信息学8月普及组模拟赛)
DD 摆磁铁 这道题来自 计蒜客信息学8月普及组模拟赛 普及组!! 把我一个TG选手看懵了 看来我要回去打普及了 题目大意 给出一个n个节点的树,要把树上给定的2*m个节点两两配对,两个节点配对的产生 ...
- 1983. 【普及组模拟赛】手机(mobile)
1983. [普及组模拟赛]手机(mobile) 题目描述 一般的手机的键盘是这样的: 要按出英文字母就必须要按数字键多下.例如要按出 x 就得按 9 两下,第一下会出 w,而第二下会把 w 变成 x ...
- 【2011NOIP普及组】T3. 瑞士轮 试题解析
[2011NOIP普及组]T3. 瑞士轮 试题解析 时间限制: 1000 ms 内存限制: 231072 KB [题目描述] 在双人对决的竞技性比赛,如乒乓球.羽毛球.国际象棋中,最 ...
- 【2022CSPJ普及组】 T3.逻辑表达式(expr)
[2022CSPJ普及组] T3.逻辑表达式(expr) [题目描述] 逻辑表达式是计算机科学中的重要概念和工具,包含逻辑值.逻辑运算.逻辑运算 优先级等内容. 在一个逻辑表达式中,元素的值只有两种可 ...
- 【jzoj】2018.2.7NOIP普及组——某【BC】组模拟赛
前言 --终于改完了,像之前小L一样崩溃.今天C组和B组一起做题,所以-- 正题 题目1:教主的花园(jzoj1792) 一平面直角坐标系,在x轴的位置建立一堵墙,墙上有n道门,给出门的位置,询问两个 ...
- 【jzoj】2018.2.5NOIP普及组——C组模拟赛
前言 今天第一次正式C组题,不过--比较恐怖. 正题 题目1:公牛和母牛(jzoj1292) 有n头牛,可以是公牛或母牛,每头公牛之间至少得有k头母牛.求方案数. 输入输出(建议跳过) Input 第 ...
- 【jzoj】2018.2.3NOIP普及组——D组模拟赛
前言 万年D组系列- 正题 题目1:数池塘(jzoj1898) 有一个地方有一些积水,连着的积水是一个池塘,求池塘数. 输入 第1行:由空格隔开的两个整数:N和M 第2..N+1行:每行M个字符代表约 ...
最新文章
- C语言-动态创建二维数组
- HDFS2.x之RPC流程分析
- 数据结构与算法分析c++第四版_数据结构与算法 - 时空复杂度分析
- js 控制鼠标_JS逆向 | 面向小白之eval混淆
- 106页《Python进阶》中文版介绍分享
- Ubuntu下安装Samba服务器
- 计算机离散数学视频教程,离散数学(全105讲)【理工学社】
- 修正读取ISO中文命名的FatmsMod补丁第二版下载发布
- AD9中元件无法显示的问题解决
- stm32万年历流程图_基于 STM32 RTC的万年历
- 大数据面试题——spark
- ASP.NET 氚云平台集成Dome
- Riverbed大咖纵论2018科技领域九大变化
- Windbg命令学习1(vertarget和lm和lmvm)
- 助睡眠的产品盘点,失眠人必须要知道的几样东西
- oracle minus 条件,Oracle minus用法详解及应用实例
- Android studio成品 记账本(附带文档)
- VSS2005使用方法
- css清除浮动的几种方式
- 常用的嵌入式数据库的比较