首页 > 其他分享 >E. FTL

E. FTL

时间:2023-03-14 15:44:43浏览次数:41  
标签:p2 p1 min int t2 t1 FTL

E. FTL

代码

/*
首先如果两个人不能同时使用的话,也就是直接采用地推就可以了
然后考虑两个人一起使用
枚举一个用了j次,并且他们最后一次是同时进行使用的
然后进行地推就可以了

如果可以同时使用,那么同时使用肯定是比不同时使用更优的,这是dp的局部最优性

关键就是先进行简单的地推
然后枚举两个人一起进行,从而重置冷却
*/
#include <bits/stdc++.h>
using namespace std;
#define int long long

int f[5005];

signed main() {
    memset(f,0x3f,sizeof(f));
    f[0]=0;
    int p1,t1,p2,t2,h,s;
    cin>>p1>>t1>>p2>>t2>>h>>s;
    for(int i=0;i<h;i++) {//采用刷表法进行递推
        f[min(i+p1-s,h)]=min(f[min(i+p1-s,h)],f[i]+t1);
        f[min(i+p2-s,h)]=min(f[min(i+p2-s,h)],f[i]+t2);
        for(int j=1;j<=h;j++) {
            if(j*t1>=t2) {
                int sum=((j-1)*(p1-s))+(p1+p2-s)+((j*t1-t2)/t2*(p2-s));
                f[min(i+sum,h)]=min(f[min(i+sum,h)],f[i]+j*t1);
            }
            if(j*t2>=t1) {
                int sum=((j-1)*(p2-s))+(p1+p2-s)+((j*t2-t1)/t1*(p1-s));
                f[min(i+sum,h)]=min(f[min(i+sum,h)],f[i]+j*t2);
            }
        }
    }
    cout<<f[h]<<endl;
    return 0;
}

标签:p2,p1,min,int,t2,t1,FTL
From: https://www.cnblogs.com/basicecho/p/17215151.html

相关文章

  • freemarker 通过ftl 导出word
    1:需要的jarfreemarker.jar  https://pan.baidu.com/s/105Ma9aVPha8YvlBkuuO4bA  提取码:b9k8或者<dependency><groupId>org.freemarker</groupId><artif......
  • STM32F103使用FSMC对接正点原子3.5寸TFTLCD屏幕
    fsmc的使用算是32里面有点绕的一个知识点,但是想明白了其实也没啥了。  首先我先放32个0在这儿:0000  0000  0000  0000  0000  0000  0000  0000  ......
  • CF1743E FTL(哈希,DP)——关于 xorshift 的哈希冲突
    CF1743EFTL有两把laser枪,一把伤害\(p_0\)两发间隔时间至少\(t_0\),另一把\(p_1,t_1\)。打敌方太空船,血量\(N\)防御值\(s\),如果某个时刻你对太空船打出\(P\)的......
  • E. FTL
    E.FTLMonocarpisplayingavideogame.Inthegame,hecontrolsaspaceshipandhastodestroyanenemyspaceship.Monocarphastwolasersinstalledonhiss......
  • 1743E - FTL
    1743E-FTLAtanytime,wehavethreepossiblechoices:waitandshootthefirstlaser,thesecondlaserandbothlasers.Sometimesitmakessensetowaitto......
  • CF1743 E - FTL(线性DP)
    E-FTL(线性DP)题意​ 现在你有两支激光枪,枪A伤害为\(p_1\),冷却时间为\(t_2\);枪B伤害为\(p_2\),冷却时间为\(t_2\)。敌人的护甲为s,可以抵消每一次攻击中的s点伤害。请问最......
  • Educational Codeforces Round 137 (Rated for Div. 2) - E. FTL
    DPProblem-E-Codeforces题意有个BOSS有\(H\;(1<=H<=5000)\)血量,\(s\)点防御有两种武器可用攻击BOSS,伤害分别为\(p_1,p_2\;(s<min(p_1,p_2)<=5000)\),冷却......
  • SwiftLint - iOS 应用程序代码检查
    SwiftLint-iOS应用程序代码检查用风格编写干净的代码SwiftLint是一个快速的代码风格分析工具,有助于标记风格错误****在代码中。SwiftLint强制执行Swift社区普......