首页 > 其他分享 >Y病毒

Y病毒

时间:2023-11-12 18:56:12浏览次数:22  
标签:forget int nextInt new 病毒 public Scanner

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int delay = in.nextInt();
        int forget = in.nextInt();
        int arr[] = new int[n+1];
        int brr[] = new int[n+1];

        //对特殊情况的判断
        if (forget<=delay){//无法繁殖情况
            if (n <= forget+1)//forget为几天后
                System.out.println(1);
            else
                System.out.println(0);
            return;
        }
        for (int i = 1; i <= delay; i++) {
            if (i==1)
                arr[1] = 1;//第一天生成一个病毒
            else
                arr[i] = 0;
        }
        //使用数组记录每天增长的数量
        //1+delay天后开始繁殖
        for (int i = delay+1 ; i  <= n; i++) {
            int preSum = 0;
            //for (int j = i-1-(forget-delay); j < i-1; j++) {//求解目前在繁殖期的所有病毒
            for (int j = i-forget+1; j < i-delay+1; j++) {//求解目前在繁殖期的所有病毒
                //从delay --- forget 是他的繁殖时间长度,即求解 i-1-2 === i-2
                if(j<1)
                    continue;//前面的左边界可能会越界
                preSum += arr[j];
            }
            arr [i] =preSum;//此时要算有繁殖能力的病毒总数
        }
        //用brr数组存储该时刻消失的病毒
        for (int i = 1; i <= forget; i++) {
            brr[i] = 0;
        }
        for (int i = forget+1 ; i  <= n; i++) {//forget后开始消失
            brr [i] =arr[i-forget];//此时要算正好forget天前生成的病毒
        }
        int ans = 0;
        for (int i = 1; i <= n; i++) {
            ans+=(arr[i]-brr[i])%1000000007;
        }
        System.out.println(ans);
    }
}

测试用例:

6 2 4
5

标签:forget,int,nextInt,new,病毒,public,Scanner
From: https://www.cnblogs.com/-Asurada-/p/17827563.html

相关文章

  • 记一次云服务器 CPU 爆满原因—被 kdevtmpfsi 挖矿病毒入侵
    目录1.问题表现2.问题解决1.问题表现突然发现云主机的CPU使用率爆满了,我寻思着我也没干啥啊,不会中病毒了吧看了下docker中的容器,多了很多不知道哪里来的东西把容器和镜像统统删光后,短暂的恢复了一下,但过一阵子,CPU又爆满了用top命令查看了自己服务器CPU运行情况......
  • 病毒
              ......
  • Centos感染挖矿病毒kswapd0
    top查看发现kswapd0占用异常高有一个陌生的用户comp先删除authorized_keys中陌生的key查看root的计划任务(发现没异样)crontab-l查看该用户的计划任务sudo-ucompbash-c'crontab-l'发现删除,顺便删除crontab里面使用的文件和文件夹删除comp用户的进程查看......
  • “挖矿”病毒排查处置方法
    排查方法挖矿病毒被植入主机后,利用主机的运算力进行挖矿,主要体现在CPU使用率高达90%以上,有大量对外进行网络连接的日志记录。Linux主机中挖矿病毒后的现象如下图所示:Windows主机中挖矿病毒后的现象如下图所示:处置方法一旦发现主机或服务器存在上述现象,则极有可能已经感染了......
  • msmpeng.exe是Windows Defender反病毒软件的主要执行文件,其作用是扫描系统中的文件和
    msmpeng.exe是WindowsDefender反病毒软件的主要执行文件,其作用是扫描系统中的文件和进程,以便检查是否存在恶意软件。WindowsDefender是微软官方提供的反病毒软件,随Windows操作系统一起提供。如果您使用Windows10操作系统,那么您已经拥有了WindowsDefender。启用WindowsDefend......
  • 中了挖矿病毒怎么解决
    https://blog.csdn.net/m0_60379130/article/details/124732121?spm=1001.2101.3001.6650.5&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-5-124732121-blog-107623413.235%5Ev38%5Epc_relevant_anti_vip_base&depth......
  • centos7安装clamAV扫描病毒
     使用开源的clamAV扫描病毒工具扫描服务器上所有文件是否具有病毒安装步骤使用yum安装1、yum-yinstallclamavclamav-update需要更新ClamAV的病毒数据库2、freshclam 更新完成后就可以使用了3、扫描根目录下所有的文件并输出到/home/data/56.txt文件里可以自......
  • centos7安装clamAV扫描病毒
    使用开源的clamAV扫描病毒工具扫描服务器上所有文件是否具有病毒安装步骤使用yum安装1、yum-yinstallclamavclamav-update需要更新ClamAV的病毒数据库2、freshclam 更新完成后就可以使用了3、扫描根目录下所有的文件并输出到/home/data/56.txt文件里可以自行先......
  • systemd病毒遏制流程参考
    systemd挖矿病毒遏制流程参考top查看进程占用情况systemctlstatus128724找出占用较高的恶意进程的相关进程killSTOP128724121095停止对应恶意PID进程,为服务器CPU降压(注:这里不推荐直接删除进程,因为挖矿往往存在定时任务,删除后还会自动生成,但停止恶意进程会使其陷......
  • 学习笔记-计算机病毒对抗技术-高级反病毒
    虚拟机技术1、虚拟CPU2、虚拟进程环境3、虚拟执行进程代码虚拟机在反病毒领域中的应用1、处理变形病毒2、基于虚拟机技术的行为判定病毒与虚拟机的对抗云查杀技术启发式扫描技术1、动态启发式2.静态启发式主动防御技术1、获得SSDT表2、在SSDT表中定位要替换的函数地址的位置3、使用......