CodeTonRound4-div1+div2题解
题解 A - E Dream is so far ~ A. Beautiful Sequence检查每一位对应的数字是否小于等于位置,如果可以说明这个数字可以移动到对应位置上, 遍历即可 1234567891011121314151617181920212223242526272829303132333435#include<bits/stdc++.h>using namespace std;using i64 = long long;void solve() { int n; cin >> n; vector<int> a(n + 1); for (int i = 1; i <= n; i++) { cin >> a[i]; } for (int i = 1; i <= n; i++) { if (a[i] <= i) { cout <<...
Educational-codeforce-Round174题解
Edu174 A Was there an Array?1观察题目发现如果给定的B[i] = 1, 左右都得是相等的, 如果出现了连续三个数字( i - 1, i , i + 1 ) 对应是 1 0 1,则有 a[i - 1] = a[ i ], a[ i ] = a[i + 1], 得出 a[i - 1] = a[i + 1], 但是i == 0 又推出 a[i - 1] != a[i + 1]矛盾,所以只需要判断一下是否出现了这种结构即可 1234567891011121314151617181920212223242526272829303132333435#include<bits/stdc++.h>using namespace std;using i64 = long long;void solve() { int n; cin >> n; vector<int> a(n + 1), b(n + 1); for (int i = 2; i < n; i++) { ...
JavaData类学习
Java的DATA类 Date类的概述 java.util,Date 表示日期和时间的类 类 Date 表示特定的瞬间,精确到千分之一秒(毫秒) 实例引入:获取时间原点到当前系统时间经历了多少秒 123456 // 时间原点:1970 年 01 月 01 日 00:00:00 public class DemoDate { public static void main(String[] args) { System.out.println(System.currentTimeMillis()); }} Date类常用的构造方法和成员方法成员方法getTime()方法。返回:时间原点以来,此Date对象表示的毫秒数 123456789import java.util.Date; public class DemoGetTime { public static void main(String[] args) {...
扫描线
矩形面积并 将矩形划分为每个 行块 , 一一统计出边和入边, 计算每条边的贡献, 以每条边计算 S12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879#include<bits/stdc++.h>using namespace std;using i64 = long long;struct Scanline { int n, num; vector<int> tag; vector<i64> len, xx; i64 S; struct Line { i64 y, lx, rx; int flag; // 1是入边,-1是出边 Line() {} Line(i64 y,...
异常处理
1. Collection类Collection 接口是 Java 集合框架中的根接口之一,定义了所有集合类共有的基本操作和行为。它位于 java.util 包中,继承自 Iterable 接口,因此所有实现了 Collection 的类都可以使用增强 for 循环进行遍历。 主要特点和方法 基础操作: add(E e):向集合中添加一个元素。 remove(Object o):从集合中删除指定的元素。 clear():清空集合中的所有元素。 size():返回集合中元素的数量。 isEmpty():判断集合是否为空。 contains(Object o):判断集合中是否包含某个元素。 遍历功能: 继承自 Iterable 的 iterator() 方法,可以获取一个迭代器遍历集合中的元素。 从 Java 8 开始,还可以通过 stream() 方法使用 Stream API 进行流式操作。 批量操作: addAll(Collection<? extends E>...
泛型
和cpp模板元编程一样,Java也提供了泛型, 1类名<T> 高级用法:1. 限制泛型可使用类型1class 类名<T extends anyclass> 其中,anyclass是指某个接口或者类使用泛型限制后,泛型类型必须继承或者实现了anyclass这个接口或者类 2. 类型通配符在泛型机制中,提供了类型通配符,其主要作用是在创建一个泛型类对象的时候 泛型中的通配符: Constructor<T> 是一个泛型类,代表某个类 T 的构造方法。 使用 Constructor<?> 表示你关心的是“某个类的构造方法”,但具体的类型参数你并不关心或不需要指定。 目的:
异常处理
在 Java 的异常处理中,throw 关键字用于手动抛出一个异常对象,而 throws 关键字用于声明方法可能抛出的异常。下面详细介绍 Java 的最新异常处理机制及 try-catch-throw 的用法。 1. throw 关键字throw 用于在代码中手动抛出一个异常,通常用于异常检测、错误处理或自定义异常。 throw 的作用throw 关键字的主要作用是手动抛出异常,让程序在遇到错误时主动终止当前代码逻辑,并将异常交给上层代码处理。 在 Java 中,默认情况下,只有系统遇到错误时才会自动抛出异常,比如 NullPointerException、ArithmeticException 等。但有时候,我们需要自己定义错误情况,并主动抛出异常,让调用者知道发生了问题,这时候就用 throw。 语法:1throw new 异常类对象;` 示例: 1234567891011public class ThrowExample { public static void checkAge(int age) { if (age <...
Java数字处理类
此处主要记录使用DecimalFormat格式化浮点数的方法 在Java中,默认格式化形式是: 如果数字大于0.001同时小于10000000,则使用常规小数表示 如果不在这个范围内是用科学计数法 使用DecimalFormat可以格式化浮点数 1. 常见用法1.1 控制小数位数123456789import java.text.DecimalFormat; public class Main { public static void main(String[] args) { DecimalFormat df1 = new DecimalFormat("#.00"); // 保留2位小数(不足补0) DecimalFormat df2 = new DecimalFormat("#.##"); // 保留最多2位小数(不足不补0) System.out.println(df1.format(3.1)); // 输出: 3.10...
Java包装类
和cpp一样,不一样的是Java可以使用super.xxx去调用父类的构造函数和成员函数 1234567891011121314151617181920212223242526272829303132333435363738394041424344import java.math.BigDecimal; import java.math.BigInteger; import java.text.DecimalFormat; import java.util.*; public class Main { static void solve(Scanner sc) { var a = new BigInteger("11234"); var b = new BigInteger("3421"); System.out.println(a.compareTo(b)); } record Move(int k, int...
Java包装类
Java 的包装类(Wrapper Classes)作用Java 的 包装类(Wrapper Class) 主要用于将 基本数据类型(primitive types) 转换为 对象类型(reference types),它们提供了额外的方法,并且在某些情况下是必需的,比如在 集合框架(如 ArrayList) 中存储数据。 1. Java 包装类有哪些?Java 为每种基本数据类型提供了对应的包装类: 基本类型(Primitive Type) 包装类(Wrapper Class) byte Byte short Short int Integer long Long float Float double Double char Character boolean Boolean 2. 为什么需要包装类?(1) 在集合(ArrayList、HashMap 等)中存储基本类型Java 集合框架(如 ArrayList、HashMap)不支持基本类型,必须使用对象类型。例如,ArrayList<int>...
