这周先是看了上周天网络赛第一题的题解,但是因为这道题卡精度,题解都是用了JAVA...看了一个题解,最后也只看懂了一点知识:
- a.add(b); 加法运算
- a.subtract(b); 减法运算
- a.multiply(b); 乘法运算
- a.divide(b); 除法运算
- a.mod(b); 取模运算
- a.gcd(b); 最大公因数
- a.max(b); 最大值(a,b)
- a.min(b); 最小值(a,b)
- a.modPow(k, mod); 返回(a^k)%mod
- a.pow(b);
- a.toString(); 返回大整数的string型
- System.out.println(a); 自带换行的输出
- System.out.print(a); 不自带换行的输出
- Scanner sc = new Scanner(System.in);
- System.out.println(a);//自带换行的输出
- System.out.print(a); //不自带换行的输出
周三、周四这两天晚上时间比较整,看了两道线段树的题目,昨天做了第六题:
题意:
有一个高位h 宽为w的广告牌,现在广告牌是空的,有一些小的广告要张贴到广告牌上,已知这些小广告的高度都是1,宽为wi,张贴有一定规律,按照顺序来,并且往最高处贴,如果最高处贴不开就往下一行贴,输出每一张广告贴在的行,若果广告牌上贴不开,就输出-1
思路:
利用线段树可以得出区间的最大值,在结构体中定义一个Max变量,用来表示这段区间内有最多空位的那一行的空位长度。与输入进来的长度进行比较,先左边比较,再右边。(也就是左子树的最大值大于他,就查询左子树,否则查询右子树)。