配置魔药

【问题描述】

在《Harry Potter and the Chamber of Secrets》中,Ron的魔杖因为坐他老爸的Flying Car撞到了打人柳,不幸被打断了,从此之后,他的魔杖的魔力就大大减少,甚至没办法执行他施的魔咒,这为Ron带来了不少的烦恼。这天上魔药课,Snape要他们每人配置一种魔药(不一定是一样的),Ron因为魔杖的问题,不能完成这个任务,他请Harry在魔药课上(自然是躲过了Snape的检查)帮他配置。现在Harry面前有两个坩埚,有许多种药材要放进坩埚里,但坩埚的能力有限,无法同时配置所有的药材。一个坩埚相同时间内只能加工一种药材,但是不一定每一种药材都要加进坩埚里。加工每种药材都有必须在一个起始时间和结束时间内完成(起始时间所在的那一刻和结束时间所在的那一刻也算在完成时间内),每种药材都有一个加工后的药效。现在要求的就是Harry可以得到最大的药效。

【输入文件】(medic.in)

输入文件的第一行有2个整数,一节魔药课的t(1≤t<≤500)和药材数n(1≤n≤100)。

输入文件第2行到n+1行中每行有3个数字,分别为加工第i种药材的起始时间t1、结束时间t2、(1≤t1≤t2≤t)和药效w(1≤w≤100)。

【输出文件】(medic.out)

输出文件medic.out只有一行,只输出一个正整数,即为最大药效。

【输入样例】

7 4

1 2 10

4 7 20

1 3 2

3 7 3

【输出样例】

35

【注释】

本题的样例是这样实现的:第一个坩埚放第1、4种药材,第二个坩埚放第2、3种药材。这样最大的药效就为10+20+2+3=35。

【数据规模】

对于30%的数据

1<=t<=500

1<=n<=15

1<=w<=100

1<=t1<=t2<=t

 

对于100%的数据

1<=t<=500

1<=n<=100

1<=w<=100

1<=t1<=t2<=t

/*
  刚开始设的f[i][j][k]表示前i个物品,一个坩埚占了j,另一个占了k的最大值

,时间特别长,后来发现第2、3维可以设为物品
*/
#include<cstdio>
#include<iostream>
#include<algorithm>
#define N 110
using namespace std;
int f[N][N][N],m,n;
struct node
{
    int a,b,c;
};node e[N];
bool cmp(const node&s1,const node&s2)
{
    if(s1.a!=s2.a)return s1.a<s2.a;
    return s1.b<s2.b;
}
int main()
{
    freopen("jh.in","r",stdin);
    scanf("%d%d",&m,&n);
    for(int i=1;i<=n;i++)
      scanf("%d%d%d",&e[i].a,&e[i].b,&e[i].c);
    sort(e+1,e+n+1,cmp);
    int ans=0;
    for(int i=1;i<=n;i++)
      for(int j=0;j<i;j++)
        for(int k=0;k<i;k++)
        {
            f[i][j][k]=f[i-1][j][k];
            if(e[j].b<e[i].a)f[i][i][k]=max(f[i][i][k],f[i-1][j]

[k]+e[i].c);
            if(e[k].b<e[i].a)f[i][j][i]=max(f[i][j][i],f[i-1][j]

[k]+e[i].c);
            ans=max(max(f[i][i][k],f[i][j][i]),ans);
        }
    printf("%d",ans);
    return 0;
}

时间: 2024-10-14 04:01:35

配置魔药的相关文章

rqnoj 配置魔药

/* f[i][j] 为两个锅分别前i,和前J的最大价值 */ #include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> #include<cmath> #include<cstdlib> #include<algorithm> using namespace std; int t,n,f[600][600]; struct line {

【RQNOJ99】配制魔药(动规)

题目描述 在< Harry Potter and the Chamber of Secrets>中, Ron 的魔杖因为坐他老爸的 FlyingCar 撞到了打人柳,不幸被打断了.从此之后,他的魔杖的魔力就大大减少,甚至没办法执行他施的魔咒,这为 Ron 带来了不少的烦恼.这天上魔药课, Snape 要他们每人配置一种魔药(不一定是一样的), Ron 因为魔杖的问题,不能完成这个任务,他请 Harry 在魔药课上(自然是躲过了Snape 的检查)帮他配置.现在 Harry 面前有两个坩埚,有许

Win10下IIS配置、项目发布、添加网站

Win10下IIS配置 1.找到控制面板:[开始]菜单鼠标右击,打开[控制面板] 2.打开控制面板,点击[程序],点击[启用或关闭Windows功能] 下一步,点击[启用虎关闭Windows功能] 3. 开始修改IIS了,我是这样勾上的,有可能比较多. 4. 验证IIS是否正确安装,等待几分钟后IIS配置完成.在浏览器输入http://localhost/iisstart.htm会出现 IIS安装成功页面.第一次修改的时候出现了成功页面,但是后来删除了IIS中默认的网站就打不开了,但是不影响的.

linux下Nginx配置文件(nginx.conf)配置设置详解(windows用phpstudy集成)

linux备份nginx.conf文件举例: cp /usr/local/nginx/nginx.conf /usr/local/nginx/nginx.conf-20171111(日期) 在进程列表里 面找master进程,它的编号就是主进程号. ps -ef | grep nginx 查看进程 cat /usr/local/nginx/nginx.pid 每次修改完nginx文件都要重新加载配置文件linux命令: /usr/local/nginx -t //验证配置文件是否合法 若ngin

solr分布式索引【实战一、分片配置读取:工具类configUtil.java,读取配置代码片段,配置实例】

1 private static Properties prop = new Properties(); 2 3 private static String confFilePath = "conf" + File.separator + "config.properties";// 配置文件目录 4 static { 5 // 加载properties 6 InputStream is = null; 7 InputStreamReader isr = null;

IDEA 配置maven

编写Maven的settings.xml文件内容如下 引入阿里镜像和maven在中国的中央仓库镜像 <?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sc

华为交换机配置telnet和SSH登录设备(简单实用版)

Telnet是Internet远程登陆服务的标准协议和主要方式.它为用户提供了在本地计算机上完成远程主机工作的能力.在终端使用者的电脑上使用telnet程序,用它连接到服务器.终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样.可以在本地就能控制服务器.要开始一个telnet会话,必须输入用户名和密码来登录服务器.Telnet是常用的远程控制Web服务器的方法,极大的提高了用户操作的灵活性. 测试拓扑图 配置telnet: 1.1普通认证登录

win7设置固定IP重启后无法上网,ipconfig显示为自动配置IPV4 169.254的地址

近日安装原版Win7系统打完网卡驱动补丁后,给电脑设置了固定的IP地址后一切正常,但是电脑重启后发现上不了网了,右下角网络图标有个感叹号,打开网络和共享中心-->本地连接-->详细信息-->发现IPv4的地址与ipconfig /all得到的IP地址一致,均显示为:自动配置IPv4地址:169.254.123.188(首选) 但是查看本地连接-->属性里看到之前设置的固定IP地址是没有问题的, 所以想到了应该是电脑启用了自动配置IPv4功能,导致了固定IP无法分配给电脑, 尝试用命

PL/SQL配置大小写转换等快捷键

Tools(工具) --> Preferences(首选项) --> Key Configuration(键配置) 然后修改自己需要的快捷键方式 作者:itmyhome