首页 > 其他分享 >F. Magic Will Save the World

F. Magic Will Save the World

时间:2024-07-10 12:30:46浏览次数:7  
标签:int ll Will 咒语 World Save dp

原题链接

题解

1.一定是一部分怪物被水属性咒语打死,另一部分被火属性咒语打死
2.遍历所有“部分”,然后看各部分被水属性咒语打死需要累积多少秒的水咒语
这里用到了背包数组,(1e6·100)也可以?

code

#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll a[105];
bool dp[1000005]={0};
ll solve()
{
    ll w,f,n;
    cin>>w>>f>>n;

    ll sum=0;
    for(int i=1;i<=n;i++ )
    {
        cin>>a[i];
        sum+=a[i];
    }

    dp[0]=1;
    for(int i=1;i<=n;i++)
    {
        for(int k=sum;k>=a[i];k--)
        {
            dp[k]=dp[k-a[i]]||dp[k];
        }
    }

    ll ans=2e15;
    for(ll i=0;i<=sum;i++)
    {
        if(dp[i]) ans=min(ans,max(i/w+(i%w!=0),(sum-i)/f+((sum-i)%f!=0)));
        dp[i]=0;
    }
    return ans;
}
int main()
{
    ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    int t;
    cin>>t;
    while(t--) cout<<solve()<<'\n';
    return 0;
}

标签:int,ll,Will,咒语,World,Save,dp
From: https://www.cnblogs.com/pure4knowledge/p/18293817

相关文章

  • [CISCN2019 华北赛区 Day2 Web1]Hack World
    进入题目输入数字1数字20对select空格unionor等等测试发现没有过滤select空格也被过滤注意不能单独测试用亦或运算1^0为真尝试0^if((ascii(substr((select(flag)from(flag)),1,1))=100),0,1)回显正常根据回显判断正误编写脚本爆破,由于该网站请求太快会报429......
  • 常用快捷键+Java安装和卸载+Dos命令+Notepad++试练“Hello World”+IDEA
    常用快捷键+Java安装和卸载+Dos命令+Notepad++试练“HelloWorld”+IDEAWindowsControl+C复制Control+X剪切Control+V黏贴Control+A全选Control+Z撤销Control+S保存Alt+F4关闭窗口Shift+Delete永久删除Windows+R运行(打开程序)Windows+E打开我的电脑......
  • World of Warcraft [CLASSIC] Talent Tree
    WorldofWarcraft[CLASSIC] TalentTree 天赋树模拟器01)初始化整个页面,选择游戏职业,初始化3个天赋树02)初始化天赋树结构,层次为N层03)每层有4个技能,设置可显示,设置隐藏04)每个技能可配置图表,技能名称,备注说明,每一级说明不同05)每层的技能可支持最大技能点......
  • Acore-world数据库之各类loot-template表全面解释
    前言Acore-world数据库涉及到掉落(不含扒窃)的表一共有11个,分别是:序号表名说明1creature_loot_template生物掉落表,其entry值对应creature_template表的和lootid值2disenchant_loot_template附魔分解掉落表,其entry值对应item_template表的DisenchantID值3fish......
  • helloworld - 程序员的第一个社区终于来了
    helloworld-程序员的第一个社区终于来了csdn事件CSDN旗下的GitCode最近因为一种极其不道德的行为引起了开发者的广泛愤怒和抗议。CSDN在没有通知或征求开发者同意的情况下,悄悄地将大量GitHub上的开源项目搬运到了其自己的GitCode平台上,并为这些项目的开发者创建了开发者主页......
  • 代码3:构造最小的HelloWorld程序
    Intro:绪论2:应用视角的操作系统。目的:通过精简程序,了解整个编译过程。一、GCC编译hello.c的全过程.c(源代码)->.i(预编译源代码)-gcc->.S(汇编代码)-as->.o-ld->a.out(一)GCC编译hello.c中只有一行printf("hello,world\n");指令(return由编译器处理,代码......
  • java模块——使用 47M 的java环境运行HelloWorld
    前言我们知道,运行java程序需要jre或jdk环境,但是现在的jdk安装包已经很大了,如果我们的程序很简单,并且需要把程序发送给其他没有jdk环境的人的运行要如何做呢?如何精简我们的程序包呢?从java9开始的模块功能为我们提供了解决方案。Java库设计者现在可以将代码清晰地划分为模块,这......
  • CF 1981 D. World is Mine (*1800) DP+博弈论
    CF1981D.WorldisMine(*1800)DP+博弈论题目链接题意:有\(n\)个蛋糕,每个蛋糕有一个美味值\(a_i\),\(Alice\)和\(Bob\)轮流吃蛋糕,\(Alice\)每次必须选择吃严格大于之前所吃的蛋糕美味程度。\(Bob\)随意选择。有人没有蛋糕可以吃时,游戏结束。\(Alice\)想吃更多......
  • Hello World with solidity
    1.Solidity是什么?Solidity是一种面向对象的、静态类型的编程语言,专为在以太坊上编写智能合约而创建。由于以太坊上的智能合约可以处理真实世界的资产(比如加密货币),所以Solidity的设计非常关注安全性。以下是Solidity的一些主要特点:类型安全和静态类型:这可以避免在运行时出......
  • 【漏洞复现】LiveGBS user/save 逻辑缺陷漏洞(CNVD-2023-72138)
    0x01产品简介LiveGBS是安徽青柿信息科技有限公司研发的一款国标(GB28181)流媒体服务软件,可提供提供用户管理及Web可视化页面管理,开源的前端页面源码;提供设备状态管理,可实时查看设备是否掉线等信息等。0x02漏洞概述LiveGBSuser/save接口处存在逻辑缺陷漏洞,未经身份验......