4.2w+
社区成员
裁纸刀
直接手算
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
public static void main(String[] args) {
System.out.print(19 + 20 * 21 + 4);
}
}
刷题统计
注意数据类型要用long
先算出总刷题数需要多少个星期,再算需要多少个星期 + 还有多少天
import java.util.*;
import java.io.*;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
static PrintWriter pw = new PrintWriter(new OutputStreamWriter(System.out));
public static void main(String[] args) throws IOException {
String[] s = br.readLine().split(" ");
long a = Long.parseLong(s[0]);
long b = Long.parseLong(s[1]);
long n = Long.parseLong(s[2]);
long weekCount = a * 5 + b * 2;
long day = n / weekCount * 7;
long remain = n % weekCount;
int needDay = 1;
while(remain > 0) {
if(needDay == 6 || needDay == 7) {
remain -= b;
} else {
remain -= a;
}
needDay++;
day++;
}
System.out.print(day);
}
}
修建灌木
每颗灌木的最高长度 = max(左边灌木数, 右边灌木数) * 2
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//在此输入您的代码...
int n = scan.nextInt();
for(int i = 1; i <= n; i++) {
int max = Math.max(n - i, i - 1);
System.out.println(max * 2);
}
scan.close();
}
}
k倍区间(朴素版)
前置知识同余:
给定一个正整数m,如果两个整数a和b满足a-b能够被m整除,即(a-b)/m得到一个整数,那么就称整数a与b对模m同余,记作a≡b(mod m)。对模m同余是整数的一个等价关系。
解题思路:
所有满足 nums[i:j] 中元素之和可以被 K 整除的开始下标 iii,必有 sum[j]%K=sum[i]%K。我们以 sum[i]%K 作为键值统计其出现的频率,从而对于每个下标 j 我们可以立即获得能和它组成满足要求的子数组的开始下标 i 的数量。
用int数组来充当前缀和,不用long型,搞了很多段错误来,麻了
import java.util.*;
import java.io.*;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int k = sc.nextInt();
long result = 0;
int[] arr = new int[n + 1];
int[] preSum = new int[n + 1];
int[] map = new int[n + 1];
for(int i = 1; i <= n; i++) {
arr[i] = sc.nextInt();
preSum[i] += (preSum[i - 1] + arr[i]) % k;
result += map[preSum[i]];
map[preSum[i]]++;
}
System.out.print(result + map[0]);
}
}