相乘空间发现环
相乘题目链接: https://www.lanqiao.cn/problems/1444/learning/
这没啥说的,直接按照题解写就行了,注意尽量别用乘法,加法比较快一点,可以减少硬件计算量,另外是乘法可能会超出int返回导致结果有误
加法可以在加的时候直接取模,就不会超出int范围了
package daily;
public class day3_14_1 {
public static void main(String[] args) {
int sum = 2021;
int result = 0;
for (int i = 2; i < 1000000007; i++) {
sum = (sum + 2021) % 1000000007;
if (sum == 999999999) {
result = i;
break;
}
}
System.out.println(result);
}
}
空间
题目链接:https://www.lanqiao.cn/problems/1445/learning/
呃,这个也挺简单,就是2的20次方可能算一下,不想写代码直接计算器算好了
唯一需要知道的知识点就是 8 b i t = 1 B , 1 M B = 2 20 B 8bit = 1B,1MB =2^{20}B 8bit=1B,1MB=220B,
package daily;
public class day3_14_2 {
public static void main(String[] args) {
System.out.println((int) (256 / 4 * Math.pow(2, 20)));
}
}
发现环
题目链接:https://www.lanqiao.cn/problems/108/learning/
这个图论涉及到知识盲区了,看其他题解说是可以把度为1的节点删掉,其他的都是在环上的节点,想不明白为什么,但是画图确实是没问题的,还有一种方法是dfs+并查集,也不会,先空着了,等学会了再来


![蓝桥杯31天冲刺之七 [java] 蓝桥杯31天冲刺之七 [java]](http://www.mshxw.com/aiimages/31/762817.png)
