Codeforces Round 964 (Div. 4) A-E Java题解

news2024/9/20 0:41:29

比赛地址

Dashboard - Codeforces Round 964 (Div. 4) - Codeforces

A题

 

签到题

给一个两位数 求各位上的数字和

直接对10取余加上本来的数除以10

// 注意类名必须为 Main, 不要有任何 package xxx 信息
// package Dduo;
import java.io.*;
import java.math.*;
import java.util.*;

// 北华大学 
// 大数据应用与开发工作室 
// 朱道阳
// Eclipse IDE 2020 08
// OpenJDK 1.8
// @author <a href="gczdy.blog.csdn.net">多多的博客</a>
// 支持Java8的最新特性,比如stream操作和lambda表达式

public class Main {

    static Scanner sc = new Scanner(System.in);
    static long mod = (long) (1e9 + 7);
    
    public static void main(String[] args) {

        int t = 1;
        t = sc.nextInt();
        while (t-- > 0) {
            solve();
        }
    }

    static void solve() {
    	
    	int n=sc.nextInt();
    	int s=sc.nextInt();//洗澡时间
    	int m=sc.nextInt();//总分钟数
    	
    	int ans1=0;
    	int ans2=0;
    	int ans=0;
    	
    	int arr[][]=new int[n][2];
    	
    	for(int i=0;i<n;i++) {
    		arr[i][0]=sc.nextInt();
    		arr[i][1]=sc.nextInt();
    	}
    	
    	for(int i=0;i<n;i++) {
    		if(i==0) {
    			if(arr[i][0]>=s) {
    				System.out.println("YES");
    				return;
    			}
    		}
    		if(i==n-1) {
    			if(m-arr[i][1]>=s) {
    				System.out.println("YES");
    				return;
    			}
    		}
    		if(i>0&&arr[i][0]-arr[i-1][1]>=s) {
				System.out.println("YES");
				return;
			}
    	}
    	System.out.println("NO");
    }
  
    
}

// 被爱的人不用道歉
// 下次再见面 不要冷冰冰 也不要说反话!

B题

每一种情况都模拟一下

枚举一下就能过

// 注意类名必须为 Main, 不要有任何 package xxx 信息
//package Dduo;
import java.util.*;

// 北华大学 
// 大数据应用与开发工作室 
// 朱道阳
// Eclipse IDE 2020 08
// OpenJDK 1.8
// @author <a href="gczdy.blog.csdn.net">多多的博客</a>
// 支持Java8的最新特性,比如stream操作和lambda表达式

public class Main {

    static Scanner sc = new Scanner(System.in);
    static long mod = (long) (1e9 + 7);

    static int k=0;
    static int b=0;
    
    public static void main(String[] args) {
        int t = 1;
         t = sc.nextInt();
        while (t-- > 0) {
            solve();
        }
        sc.close();
    }

	private static void solve() {
		// TODO Auto-generated method stub
		int a=sc.nextInt();
		int b=sc.nextInt();
		int c=sc.nextInt();
		int d=sc.nextInt();
		
		int cnt=0;
		
		int ans1=0;
		int ans2=0;
		
		ans1=0;
		ans2=0;
		
		if(a>c)ans1++;
		if(a<c)ans2++;
		
		if(b>d)ans1++;
		if(b<d)ans2++;
		
		if(ans1>ans2)cnt++;
		
		
		ans1=0;
		ans2=0;
		
		if(a>d)ans1++;
		if(a<d)ans2++;
		
		if(b>c)ans1++;
		if(b<c)ans2++;
		
		if(ans1>ans2)cnt++;
		
		ans1=0;
		ans2=0;
		
		if(b>d)ans1++;
		if(b<d)ans2++;
		
		if(a>c)ans1++;
		if(a<c)ans2++;
		
		if(ans1>ans2)cnt++;
		
		ans1=0;
		ans2=0;
		
		if(b>c)ans1++;
		if(b<c)ans2++;
		
		if(a>d)ans1++;
		if(a<d)ans2++;
		
		if(ans1>ans2)cnt++;
		
		System.out.println(cnt);
	
	}

}

// 被爱的人不用道歉
// 下次再见面 不要冷冰冰 也不要说反话!

C题

这一题我们先把任务区间放在一个n行2列的数组里面

然后去遍历找是否有符合的区间

有符合的区间直接输出yes

如果遍历完了还没有return 输出no

需要注意的是s变量 表示的是一天的时间

从0分钟到arr[0][0] 从arr[n-1][1]到s 要特判

需要注意的是题目已经指出给出的时间是按顺序的

// 注意类名必须为 Main, 不要有任何 package xxx 信息
//package Dduo;
import java.io.*;
import java.math.*;
import java.util.*;

// 北华大学 
// 大数据应用与开发工作室 
// 朱道阳
// Eclipse IDE 2020 08
// OpenJDK 1.8
// @author <a href="gczdy.blog.csdn.net">多多的博客</a>
// 支持Java8的最新特性,比如stream操作和lambda表达式

public class Main {

    static Scanner sc = new Scanner(System.in);
    static long mod = (long) (1e9 + 7);
    
    public static void main(String[] args) {

        int t = 1;
        t = sc.nextInt();
        while (t-- > 0) {
            solve();
        }
    }

    static void solve() {
    	
    	int n=sc.nextInt();
    	int s=sc.nextInt();//洗澡时间
    	int m=sc.nextInt();//总分钟数
    	
    	int ans1=0;
    	int ans2=0;
    	int ans=0;
    	
    	int arr[][]=new int[n][2];
    	
    	for(int i=0;i<n;i++) {
    		arr[i][0]=sc.nextInt();
    		arr[i][1]=sc.nextInt();
    	}
    	
    	for(int i=0;i<n;i++) {
    		if(i==0) {
    			if(arr[i][0]>=s) {
    				System.out.println("YES");
    				return;
    			}
    		}
    		if(i==n-1) {
    			if(m-arr[i][1]>=s) {
    				System.out.println("YES");
    				return;
    			}
    		}
    		if(i>0&&arr[i][0]-arr[i-1][1]>=s) {
				System.out.println("YES");
				return;
			}
    	}
    	System.out.println("NO");
    }
  
    
}

// 被爱的人不用道歉
// 下次再见面 不要冷冰冰 也不要说反话!

D题

这题简单在子串不一定是连续的

s串里面只要有t串的所有字母就行

遍历s串

用指针指向t串的第一个字符 向字符串右边跑

在遍历过程中 如果s串中的字符有指针指向的数值 指针往右移

如果这个字符是符号 把这个符号换成指针指向的字符 指针右移

如果指针已经到达了最右边 这个符号可以变成任意字符('a')

遍历一遍结束 

如果指针没有到达最右边 说明s串里并不能包含t串里的所有字符 输出no

如果指针到达了最右边 说明s串里面可以包含t串里的所有字符 

时间复杂度O(n)

// 注意类名必须为 Main, 不要有任何 package xxx 信息
//package Dduo;
import java.io.*;
import java.math.*;
import java.util.*;

// 北华大学 
// 大数据应用与开发工作室 
// 朱道阳
// Eclipse IDE 2020 08
// OpenJDK 1.8
// @author <a href="gczdy.blog.csdn.net">多多的博客</a>
// 支持Java8的最新特性,比如stream操作和lambda表达式

public class Main {

    static Scanner sc = new Scanner(System.in);
    static long mod = (long) (1e9 + 7);
    
    public static void main(String[] args) {

        int t = 1;
        t = sc.nextInt();
        while (t-- > 0) {
            solve();
        }
    }

    static void solve() {
    	
    	String s = sc.next();
    	
        String t = sc.next();
        
        //不一定为连续的
        
        char arr1[]=s.toCharArray();
        
        int index=0;
        String str="";
        for(int i=0;i<s.length();i++) {
        	if(index<t.length()&&arr1[i]==t.charAt(index)) {
        		index++;
        	}
        	if(arr1[i]=='?') {
        		if(index<t.length()) {
        			arr1[i]=t.charAt(index);
        			index++;
        		}else {
        			arr1[i]='a';
        		}
        	}
        }
        
        if(index==t.length()) {
        	System.out.println("YES");
        	System.out.println(str);
        }else {
        	System.out.println("NO");
        }
        
        
    }
    	    	
}
  
    


// 被爱的人不用道歉
// 下次再见面 不要冷冰冰 也不要说反话!

E题

 

注意数据类型 2*10e5

为了防止超时

我们可以先把数组开出来 然后直接根据数 l r 进去找

再来看题目

一个数/3 一个数*3

要把所有数变成0

在纸上画一下 不难想到 只要有一个0出现 就能让这个数一直*3 其余的数/3

然后只要算一下此时n-1个数 分别要/3多少次才能变成0的和就行

贪心算法 那个数肯定是L 就是最小的那个数 因为他/3最少次能变成0

然后其他数就只管/就好了

我们把先l-r这些数

一共要/3 多少次求出来

然后因为我们操作第一个数的时候 给另一个数*3了f(l)次

再加上这个f(l)即可

但这题关键是是构造 前缀和数组pre

前缀和 最经典的空间复杂度换时间复杂度 嗯...

// 注意类名必须为 Main, 不要有任何 package xxx 信息
// package Dduo;
import java.io.*;
import java.math.*;
import java.util.*;

// 北华大学 
// 大数据应用与开发工作室 
// 朱道阳
// Eclipse IDE 2020 08
// OpenJDK 1.8
// @author <a href="gczdy.blog.csdn.net">多多的博客</a>
// 支持Java8的最新特性,比如stream操作和lambda表达式

public class Main {

    static Scanner sc = new Scanner(System.in);
    static long mod = (long) (1e9 + 7);
    
    static int arr[]=new int[200005];
    static int pre[]=new int[200005];
    
    public static void main(String[] args) {

        int t = 1;
        t = sc.nextInt();
        
        for (int i = 1; i < 200005; i++) {
            arr[i] = f(i);
            pre[i] = pre[i - 1] + arr[i];
        }
        
        while (t-- > 0) {
            solve();
        }
    }

    static void solve() {
    	
    	int l=sc.nextInt();
    	int r=sc.nextInt();
    	System.out.println(pre[r]-pre[l-1]+arr[l]);
        
    }
    
    static int f(int x) {
    	if(x<3) {
    		return 1;
    	}else if(x<9) {
    		return 2;
    	}else if(x<27) {
    		return 3;
    	}else if(x<81) {
    		return 4;
    	}else if(x<243) {
    		return 5;
    	}else if(x<729) {
    		return 6;
    	}else if(x<2187) {
    		return 7;
    	}else if(x<6561) {
    		return 8;
    	}else if(x<19683) {
    		return 9;
    	}else if(x<59049) {
    		return 10;
    	}else if(x<177147) {
    		return 11;
    	}else {
    		return 12;
    	}
    }
    	    	
}
  
    


// 被爱的人不用道歉
// 下次再见面 不要冷冰冰 也不要说反话!

提交记录

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2094936.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

22:差分线规则

1.那些线是差分对&#xff1a; ①有些特定模块就是差分线&#xff1a;USB&#xff0c;HDMI, 以太网口&#xff0c;LEDS等 设置差分对 Panel打开PCB 输入&#xfe62;和- 点击执行 对90欧姆差分对和100Ω差分对进行分类 设置差分对线宽 ①90ohm 由excel可知&a…

孩子自闭症的主要表现:探寻理解之门

自闭症&#xff0c;也称为孤独症&#xff0c;是一种复杂的神经发展障碍&#xff0c;它影响着孩子的社交互动、沟通能力以及行为模式。当家长注意到孩子出现自闭症倾向时&#xff0c;及时识别并寻求专业帮助至关重要。以下是孩子自闭症的一些主要表现&#xff0c;希望能为家长提…

西安电子科技大学研究生新生大数据

西安电子科技大学研究生新生大数据&#xff0c;来自卓越工程学院—杭州研究院 杭研不少来自双非院校&#xff0c;西电也不怎么歧视双非的

游戏开发设计模式之模板方法模式

目录 模板方法模式在游戏开发中的具体应用案例是什么&#xff1f; 如何在不同类型的游戏&#xff08;如角色扮演游戏、策略游戏等&#xff09;中实现模板方法模式&#xff1f; 模板方法模式与其他设计模式&#xff08;如观察者模式、状态模式等&#xff09;相比&#xff0c;…

实战项目:俄罗斯方块(二)

文章目录 &#x1f34a;自我介绍&#x1f34a;俄罗斯方块数据存储三维数组的简单介绍俄罗斯方块数组的设计类型的设计初始值的方块库的设计输出指定位置的图形输出每种图形及其转换形式代码 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以&#xff1a;点赞关注评论收藏…

MySQL出现锁等待Lock wait timeout exceeded该如何快速解决

目录 一、前言 二、锁等待是如何产生的&#xff1f; 三、如何避免锁等待&#xff1f; 四、出现锁等待&#xff0c;如何快速解决&#xff1f; 设置合理的锁等待超时时间 使用DBdoctor及时观测锁等待数据 五、总结 一、前言 在使用MySQL等数据库处理业务时&#xff0c;锁…

面对自闭症的孩子:理解、关爱与支持

自闭症&#xff0c;这个看似遥远却又时常出现在我们生活中的词汇&#xff0c;它影响着无数家庭和孩子。面对自闭症的孩子&#xff0c;我们或许会感到困惑、无助&#xff0c;但更重要的是&#xff0c;我们要给予他们理解、关爱与支持。 我们要做的是深入理解自闭症。自闭症是一种…

Linux创建sysfs属性节点 - DEVICE_ATTR宏、device_create_file()、sysfs_create_group()

目录 简介&#xff1a; 一、DEVICE_ATTR介绍 1、DEVICE_ATTR宏 1.1 参数说明 1.2 调用方法 二、sysfs创建属性文件 1、创建一个sysfs属性文件 1.1 device_create_file()函数 1.2 device_create_file()实例 2、创建多个sysfs属性文件 2.1 sysfs_create_group()函数 2…

AI少女/HS2甜心选择2 仿崩坏3卡系列全合集打包

内含AI少女/甜心选择2 仿崩坏3系列全合集打包共11张 内含&#xff1a;月魄装 幽兰黛尔幽兰黛尔薪炎之律者青鸟之庭帕朵菲莉丝雷电芽衣校服布洛妮娅八重樱 冰海琴音爱衣 悠闲旋律爱莉希雅EVA 明日香。 下载地址&#xff1a;https://www.51888w.com/241.html 部分演示图&#…

java构建工具-maven的复习笔记【适用于复习或者初步了解】

&#x1f939;‍♀️潜意识起点&#xff1a;个人主页 &#x1f399;座右铭&#xff1a;得之坦然&#xff0c;失之淡然。 &#x1f48e;擅长领域&#xff1a;前端 是的&#xff0c;我需要您的&#xff1a; &#x1f9e1;点赞❤️关注&#x1f499;收藏&#x1f49b; 是我持…

鸿蒙UIAbility组件进阶

鸿蒙UIAbility组件进阶 AbilityStage基本概念生命周期使用方式 UIAbility组件间交互启动应用内的UIAbility启动应用内的UIAbility并获取返回结果启动UIAbility的指定页面调用方目标UIAbility冷启动目标UIAbility热启动 AbilityStage 基本概念 在了解AbilityStage之前&#xf…

Promise 工具箱:手写实现静态方法的完全指南

前言 &#x1f4eb; 大家好&#xff0c;我是南木元元&#xff0c;热爱技术和分享&#xff0c;欢迎大家交流&#xff0c;一起学习进步&#xff01; &#x1f345; 个人主页&#xff1a;南木元元 Promise有很多静态方法&#xff0c;本文就来分享下如何实现这些静态方法。 目录 …

Markdown语法与Latex公式汇总

1 基本语法 1.1 标题 语法如下&#xff1a; 效果如下&#xff1a; 1.2 字体样式 语法效果普通正文字体普通正文字体*倾斜字体*倾斜字体**加粗字体**加粗字体***倾斜加粗字体***倾斜字体~~划线字体~~倾斜字体 1.3 分割线 语法如下&#xff1a; 效果如下&#xff1a; …

【C++11及其特性】C++类型转换

C类型转换目录 一.C语言的强制类型转换二.static_cast1.父类子类之间指针或引用的转换2.基本数据类型的转换3.空指针转换其他类型指针4.其他类型指针转换为空指针5.static_cast特点6.完整代码 三.reinterpret_cast1.数值与指针之间的转换2.不同类型指针和引用之间的转换3.reint…

【网络安全】重置邮件逻辑漏洞导致账户接管

未经许可&#xff0c;不得转载。 文章目录 正文 正文 目标&#xff1a;xxx.com 点击重置密码&#xff0c;系统会发送一封链接至邮箱。响应如下&#xff1a; 从上图中可以看到&#xff0c;validationSession对象中有一个sessionID 而收到的链接中的token和sessionID的值是一样…

总结之Coze 是一站式 AI Bot 开发平台——使用coze(一)

Coze 是什么&#xff1f; Coze 是新一代一站式 AI Bot 开发平台。无论你是否有编程基础&#xff0c;都可以在 Coze 平台上快速搭建基于 AI 模型的各类问答 Bot&#xff0c;从解决简单的问答到处理复杂逻辑的对话。并且&#xff0c;你可以将搭建的 Bot 发布到各类社交平台和通讯…

[Leetcode 51][Hard]-n皇后问题-回溯

目录 一、题目描述 二、整体思路 三、代码 一、题目描述 原题地址 二、整体思路 这种可以算是组合问题的变种&#xff0c;在回溯函数中我们要保存当前已放置皇后的所有位置&#xff0c;同时递归调用时要进行寻找下一个皇后的放置位置。那么我们可以逐行遍历棋盘并作为递归调…

STM32学习记录-10-2-SPI通信(硬件)

1 SPI外设简介 STM32内部集成了硬件SPI收发电路,可以由硬件自动执行时钟生成、数据收发等功能,减轻CPU的负担 可配置8位/16位数据帧、高位先行/低位先行 时钟频率: fPCLK / (2, 4, 8, 16, 32, 64, 128, 256) 支持多主机模型、主或从操作 可精简为半双工/单工通信 支持…

python源码 PBOCMaster MAC的计算函数及计算过程 2des

注意最后一步要用整个key加密 计算过程&#xff1a; MAC&#xff1a; PBOC-MAC DES算法 密钥 长度16(0x10)字节 57 75 20 4D 69 61 6F 6A 75 6E 40 47 26 44 43 11 初始向量 长度8(0x08)字节 00 00 00 00 00 00 00 00 数据 长度74(0x4A)字节 43 48 45 4E 48 41 4F 2D 50 43 7…

如何成为一个飞控算法工程师?

兄弟&#xff0c;这个问题问得好&#xff0c;但也别想着靠看几本书就能一步登天。飞控算法这玩意儿&#xff0c;真要干好了&#xff0c;不是简简单单几个公式几个库就能搞定的。你本科电子专业有点基础&#xff0c;玩过四轴飞行器也算是入门了&#xff0c;但要搞真算法&#xf…