思路写在注释里面了。《算法笔记》P147页,活用递推章节语:“很多题目需要细心考虑过程中是否存在可能的递推关系,如果能找到这样的递推关系,就能使时间复杂度下降不少。例如就一类涉及序列的题目来说,假如序列每一位所需要计算的值都可以通过该位左右两侧的计算结果得到,那么就可以考虑所谓的‘左右两侧的结果’是否能够通过递推进行预处理来得到,这样在后面的使用中就可以不必反复求解。” PAT B1040/A1
第 1 题 【单选题】 运行下方代码段,输出是6,则输入的可能是( )。 a = eval(input())print(a) A :8%2 B :8/2 C :3*2 D :3**2 正确答案:C 试题解析: 第 2 题 【单选题】 关于Python变量,下列叙述正确的是( )。 A :变量不区分大小写 B :变量可用字母、数字和_(下划线)表示 C :变量c赋值为0表示
202012-5 星际旅行 80分做法,因为N太大了,太菜的我不知道如何处理 我的方法: x , y , z x,y,z x,y,z轴分别开一颗线段树,然后就套用线段树,区间加,区间乘,然后这里有个线段树互相交换节点,需要先全部pushdown之后再交换,交换完成之后还要pushup //80分做法#include <stdio.h>#include <iostream>#include
前缀和(数据预处理,降低查找循环复杂度!) for(int i=1;i<=nums.length;i++){sum[i]=sum[i-1]+nums[i];}在这里插入代码片sum[l,r]=sum[r]-sum[l-1]; 源代码 #include<bits/stdc++.h>using namespace std;const int maxn=1e5+4;struct mc
CSP-202012-2-期末预测之最佳阈值 关键点:时间复杂度优化 时间复杂度的优化主要来自于有效地利用排序和累计的分类正确数来避免对每个可能的决策阈值进行完全的暴力枚举。 1.暴力枚举(70分) 在暴力枚举方法中,对每一个可能的决策阈值 y,我们都需要遍历所有数据点来确定在此阈值下的分类正确数目。这意味着如果有 n 个数据点,且有 m 个不同的决策阈值,则时间复杂度为 O (