题目(保护羊村):

【题目描述】

伟大的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)保护羊村相关推荐

  1. 【jzoj】2018.1.30NOIP普及组——模拟赛D组

    @_@ 前言 写博客时间 2018/1/30 22:36. 感想:出数据的dalao我服! 正题 题目1:二项式展开式(jzoj2254) 输入一个整数,求展开(a+b)^n.展开方式为 (a+b)^ ...

  2. 计蒜客信息学3月普及组模拟赛

    A. 断幺九 题目链接 分值:100 时间限制:1000ms 测试点数目:10 B. 锈湖 题目链接 分值:100 时间限制:2000ms 测试点数目:10 C. 图  题目链接 分值:100 时间限 ...

  3. DD 摆磁铁(计蒜客信息学8月普及组模拟赛)

    DD 摆磁铁 这道题来自 计蒜客信息学8月普及组模拟赛 普及组!! 把我一个TG选手看懵了 看来我要回去打普及了 题目大意 给出一个n个节点的树,要把树上给定的2*m个节点两两配对,两个节点配对的产生 ...

  4. 1983. 【普及组模拟赛】手机(mobile)

    1983. [普及组模拟赛]手机(mobile) 题目描述 一般的手机的键盘是这样的: 要按出英文字母就必须要按数字键多下.例如要按出 x 就得按 9 两下,第一下会出 w,而第二下会把 w 变成 x ...

  5. 【2011NOIP普及组】T3. 瑞士轮 试题解析

    [2011NOIP普及组]T3. 瑞士轮  试题解析 时间限制: 1000 ms         内存限制: 231072 KB [题目描述] 在双人对决的竞技性比赛,如乒乓球.羽毛球.国际象棋中,最 ...

  6. 【2022CSPJ普及组】 T3.逻辑表达式(expr)

    [2022CSPJ普及组] T3.逻辑表达式(expr) [题目描述] 逻辑表达式是计算机科学中的重要概念和工具,包含逻辑值.逻辑运算.逻辑运算 优先级等内容. 在一个逻辑表达式中,元素的值只有两种可 ...

  7. 【jzoj】2018.2.7NOIP普及组——某【BC】组模拟赛

    前言 --终于改完了,像之前小L一样崩溃.今天C组和B组一起做题,所以-- 正题 题目1:教主的花园(jzoj1792) 一平面直角坐标系,在x轴的位置建立一堵墙,墙上有n道门,给出门的位置,询问两个 ...

  8. 【jzoj】2018.2.5NOIP普及组——C组模拟赛

    前言 今天第一次正式C组题,不过--比较恐怖. 正题 题目1:公牛和母牛(jzoj1292) 有n头牛,可以是公牛或母牛,每头公牛之间至少得有k头母牛.求方案数. 输入输出(建议跳过) Input 第 ...

  9. 【jzoj】2018.2.3NOIP普及组——D组模拟赛

    前言 万年D组系列- 正题 题目1:数池塘(jzoj1898) 有一个地方有一些积水,连着的积水是一个池塘,求池塘数. 输入 第1行:由空格隔开的两个整数:N和M 第2..N+1行:每行M个字符代表约 ...

最新文章

  1. C语言-动态创建二维数组
  2. HDFS2.x之RPC流程分析
  3. 数据结构与算法分析c++第四版_数据结构与算法 - 时空复杂度分析
  4. js 控制鼠标_JS逆向 | 面向小白之eval混淆
  5. 106页《Python进阶》中文版介绍分享
  6. Ubuntu下安装Samba服务器
  7. 计算机离散数学视频教程,离散数学(全105讲)【理工学社】
  8. 修正读取ISO中文命名的FatmsMod补丁第二版下载发布
  9. AD9中元件无法显示的问题解决
  10. stm32万年历流程图_基于 STM32 RTC的万年历
  11. 大数据面试题——spark
  12. ASP.NET 氚云平台集成Dome
  13. Riverbed大咖纵论2018科技领域九大变化
  14. Windbg命令学习1(vertarget和lm和lmvm)
  15. 助睡眠的产品盘点,失眠人必须要知道的几样东西
  16. oracle minus 条件,Oracle minus用法详解及应用实例
  17. Android studio成品 记账本(附带文档)
  18. VSS2005使用方法
  19. css清除浮动的几种方式
  20. 常用的嵌入式数据库的比较

热门文章

  1. 世界读书日送你畅销好书!前所未有4折购书福利
  2. 一次手机木马的清除记录(手机刷机)
  3. grafana图形化数据展示软件介绍
  4. 晶振并联 1_10M电阻 稳定
  5. MCDownloader(iOS下载器)说明书
  6. 【懒懒的Python学习笔记二】
  7. Angular + PrimeNG 安装配置
  8. FLUENT中的常用边界条件
  9. 三星公司的开会流程--绝对值得一看
  10. yy部分地区服务器升级维护,3月5日全区全服更新公告 - YY大皇帝 YY大皇帝独家官网 YY大皇帝新手卡...