当前位置:网站首页>Niuke real problem programming - day14
Niuke real problem programming - day14
2022-07-07 14:52:00 【weixin_ forty-five million seven hundred and fifty thousand fou】
Programming environment :c++
1、 String value
describe : There is an interesting way to calculate the value of strings : Count the number of occurrences of each character in the string , Then find the sum of the squares of the number of all characters as the value of the string
for example : character string "abacaba", includes 4 individual 'a',2 individual 'b',1 individual 'c', So the value of this string is 4 * 4 + 2 * 2 + 1 * 1 = 21
Niuniu has a string s, And allow you to start from s Remove up to k Characters , Your goal is to minimize the value of the resulting string .
Algorithmic thought :
According to the title requirements , To remove the fixed number of characters , Strings are the least valuable , Then each time you remove the character that appears the most times in the current string . First, count the number of characters in the string , After removing one at a time , You need to reorder the array that counts the number of character occurrences , Make sure that each overflow is the string with the most occurrences . Finally, according to the string value formula , Calculate the minimum value of the final string .
Part of the code implementation :

2、 Under the kitchen
describe :
Niuniu wants to try some new dishes , Each dish needs some different materials , Ask how many different materials need to be prepared to complete all the dishes .
Input description : Each input contains 1 Test cases . The... Of each test case i That's ok , To complete the first i What materials are needed for this dish , Each material is separated by a space , The input contains only uppercase letters and spaces , Input files do not exceed 50 That's ok , No more than... Per line 50 Characters .
Algorithmic thought :
The number of lines entered in the title is uncertain , You need to decide whether there is any string input , Here I omit the concept of line , Store all the ingredients you need into a string array . For all ingredients , We need to de duplicate it , Get the number of ingredients you need to prepare . First, sort all strings , Then the same ingredients will come together , Traverse the sorted string array , When adjacent elements are different , It represents different ingredients ( Count +1). The number of ingredients required after weight removal is obtained after traversal .

3、 Asset package packaging
describe :
In financial asset transactions , It often involves the selection and packaging of asset packages . In the process of asset package packaging , Each type of asset has a fixed quantity and value , You need to select some assets to package , Maximize the total value of the asset package . When packaging, each asset can only be packaged as a whole , Indivisible . It is assumed that the existing can accommodate M Asset package of assets , In addition, there are N Types of assets . assets Na The number of Ta strip , The total value is Va element ; assets Nb The number of Tb strip , The total value is Vb element ; assets Nc The number of Tc strip , The total value is Vc element ......; assets Nn The number of Tn, The total value is Vn. Write algorithms , Choosing which types of assets to put into the asset package can maximize the total value of the asset package ?
Algorithmic thought :
Because the asset package can only be placed as a whole or not , So the topic is actually a 0/1 Dynamic programming of knapsack . set up j Is the total capacity ,wi For the first time i The weight of each item . If the total capacity of the backpack j Less than i Space occupied by items , The maximum value that can be obtained at this time is equivalent to considering 1 To the first i-1 The total storage capacity of items is j The backpack . otherwise , You can choose to put it or not i Item : If you don't put the first i Item , At this time, the maximum value and only put the front i-1 Same piece ; The first i When items are put into the backpack , The total capacity is j Your backpack must be allocated wi Space for i Item , And before the first 1 To the first i-1 Items can only be placed with a total capacity of j-wi In my backpack , The greater of the two cases . Initialize a result array dp, There's recursion :dp(i,j)=max {dp(i-1, j),dp(i-1, j-w)+vi}
The code part implements :

边栏推荐
- 15、文本编辑工具VIM使用
- 找到自己的价值
- Deformable convolutional dense network for enhancing compressed video quality
- ES日志报错赏析-trying to create too many buckets
- AWS学习笔记(三)
- 寺岗电子称修改IP简易步骤
- Introduction and use of Kitti dataset
- 一个程序员的水平能差到什么程度?尼玛,都是人才呀...
- Es log error appreciation -maximum shards open
- Es log error appreciation -- allow delete
猜你喜欢

In the field of software engineering, we have been doing scientific research for ten years!

Jetson AGX Orin CANFD 使用

Wechat applet - Advanced chapter component packaging - Implementation of icon component (I)

WebRTC 音频抗弱网技术(上)

C# 6.0 语言规范获批

云上“视界” 创新无限 | 2022阿里云直播峰会正式上线

全球首款 RISC-V 笔记本电脑开启预售,专为元宇宙而生!

Multi merchant mall system function disassembly lecture 01 - Product Architecture

Full details of efficientnet model

Stm32cubemx, 68 sets of components, following 10 open source protocols
随机推荐
C 6.0 language specification approved
6、Electron无边框窗口和透明窗口 锁定模式 设置窗口图标
Notes de l'imprimante substance: paramètres pour les affichages Multi - écrans et multi - Résolutions
Es log error appreciation -maximum shards open
小米的芯片自研之路
asp. Netnba information management system VS development SQLSERVER database web structure c programming computer web page source code project detailed design
Apache多个组件漏洞公开(CVE-2022-32533/CVE-2022-33980/CVE-2021-37839)
6. Electron borderless window and transparent window lock mode setting window icon
Andriod --- JetPack :LiveData setValue 和 postValue 的区别
In the field of software engineering, we have been doing scientific research for ten years!
The method of parsing PHP to jump out of the loop and the difference between continue, break and exit
Spatiotemporal deformable convolution for compressed video quality enhancement (STDF)
【愚公系列】2022年7月 Go教学课程 005-变量
电脑Win7系统桌面图标太大怎么调小
Reading and understanding of eventbus source code
How bad can a programmer be? Nima, they are all talents
buffer overflow protection
Instructions for mictr01 tester vibrating string acquisition module development kit
一款你不容错过的Laravel后台管理扩展包 —— Voyager
Bill Gates posted his resume 48 years ago: "it's not as good-looking as yours."