当前位置:网站首页>Niuke real problem programming - day13
Niuke real problem programming - day13
2022-07-07 14:53:00 【weixin_ forty-five million seven hundred and fifty thousand fou】
Programming environment :c++
1、 Building blocks
describe
Xiao Ming has a bag of rectangular building blocks , If a building block A The length and width of is no larger than another building block B The length and width of , Then the building blocks A It can be built on building blocks B On top of . Curious Xiao Ming especially wants to know how many layers this bag of building blocks can be built at most , Can you help him find a way ?
Define the length of each rectangle L And width W , The number of rectangles in the bag is n .
If there are 5 The building blocks are (2, 2), (2, 4), (3, 3), (2, 5), (4, 5), It is not difficult to judge that these building blocks can be built at most 4 layer , because (2, 2) < (2, 4) < (2, 5) < (4, 5).
Algorithmic thought :
The title requires that the length and width of the upper layer of building blocks should be smaller than that of the lower layer , Find the longest number of layers . First, we will arrange all rectangular building blocks in ascending order according to the length first , Then traverse to get all the widths after sorting , Get a new array . Because the time required by the topic is relatively limited , So here we choose the dichotomy with the best time complexity to sort , Get a wide ascending priority subsequence , The size of the printout subsequence is the longest number of layers .
The code part implements :
Two points ,len Is the length of the subsequence
2、 Odd number
describe :
Small M Suddenly interested in odd numbers . Suppose a number n, If [n/1]+[n/2]+...+[n/k](k Is a positive integer approaching positive infinity ) It's an even number , Then this number is an odd number , Now let's give an interval [a,b], seek [a,b] How many strange numbers are there between .
[x] No greater than x Maximum integer for .
Algorithmic thought :
Solve problems with mathematical ideas : according to 100 It is not difficult to find the odd number data within the enumeration ,, In each line i For even when , In the interval [i2,(i+1)2)] The inner numbers are all odd numbers that meet the requirements . So according to the scope given by the title ab, First, traverse to the smallest i Satisfy i^2>=a, Yes ab Judge the middle number , When i-1 For even when , Add the odd number in the range ; otherwise ,i++ Extend back , until i^2 beyond b Range . After the last judgment , Print out the final result .
The code part implements :
3、 The largest sum of successive subarrays
describe
Enter an array of integers ( There could be positive and negative numbers ), Find a continuous subarray in an array ( At least one element ) The largest sum of . The required time complexity is O(n).
Algorithmic thought : Abandon the past and <0 Part of and , Get the sum of the largest subarray after traversal .
Part of the code implementation :
边栏推荐
- A laravel background management expansion package you can't miss - Voyager
- Read PG in data warehouse in one article_ stat
- asp.netNBA信息管理系统VS开发sqlserver数据库web结构c#编程计算机网页源码项目详细设计
- WebRTC 音频抗弱网技术(上)
- 全球首款 RISC-V 笔记本电脑开启预售,专为元宇宙而生!
- CPU与chiplet技术杂谈
- Simple steps for modifying IP of sigang electronic scale
- 昇腾体验官第五期随手记I
- 华为云数据库DDS产品深度赋能
- Ian Goodfellow, the inventor of Gan, officially joined deepmind as research scientist
猜你喜欢
PyTorch模型训练实战技巧,突破速度瓶颈
今日睡眠质量记录78分
⼀个对象从加载到JVM,再到被GC清除,都经历了什么过程?
The world's first risc-v notebook computer is on pre-sale, which is designed for the meta universe!
How bad can a programmer be? Nima, they are all talents
Today's sleep quality record 78 points
#yyds干货盘点# 解决名企真题:交叉线
Promoted to P8 successfully in the first half of the year, and bought a villa!
STM32CubeMX,68套组件,遵循10条开源协议
Cvpr2022 | backdoor attack based on frequency injection in medical image analysis
随机推荐
今日睡眠质量记录78分
Simple steps for modifying IP of sigang electronic scale
The method of parsing PHP to jump out of the loop and the difference between continue, break and exit
The world's first risc-v notebook computer is on pre-sale, which is designed for the meta universe!
数据湖(九):Iceberg特点详述和数据类型
leetcode:648. 单词替换【字典树板子 + 寻找若干前缀中的最短符合前缀】
解析PHP跳出循环的方法以及continue、break、exit的区别介绍
⼀个对象从加载到JVM,再到被GC清除,都经历了什么过程?
How to enable radius two factor / two factor (2fa) identity authentication for Anheng fortress machine
小米的芯片自研之路
PLC:自动纠正数据集噪声,来洗洗数据集吧 | ICLR 2021 Spotlight
Today's sleep quality record 78 points
Discussion on CPU and chiplet Technology
Ascend 910 realizes tensorflow1.15 to realize the Minist handwritten digit recognition of lenet network
leetcode:648. Word replacement [dictionary tree board + find the shortest matching prefix among several prefixes]
关于后台动态模板添加内容的总结 Builder使用
[today in history] July 7: release of C; Chrome OS came out; "Legend of swordsman" issued
Reading and understanding of eventbus source code
Ascend 910实现Tensorflow1.15实现LeNet网络的minist手写数字识别
时空可变形卷积用于压缩视频质量增强(STDF)