当前位置:网站首页>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 :

边栏推荐
- Wechat applet - Advanced chapter component packaging - Implementation of icon component (I)
- Xiaomi's path of chip self-development
- FFmpeg----图片处理
- 智汀不用Home Assistant让小米智能家居接入HomeKit
- Pytorch model trains practical skills and breaks through the bottleneck of speed
- 2022 cloud consulting technology series high availability special sharing meeting
- 属性关键字OnDelete,Private,ReadOnly,Required
- buffer overflow protection
- 关于后台动态模板添加内容的总结 Builder使用
- Shengteng experience officer Episode 5 notes I
猜你喜欢

智汀不用Home Assistant让小米智能家居接入HomeKit

2022pagc Golden Sail award | rongyun won the "outstanding product technology service provider of the year"

Apache多个组件漏洞公开(CVE-2022-32533/CVE-2022-33980/CVE-2021-37839)

The world's first risc-v notebook computer is on pre-sale, which is designed for the meta universe!

Five pain points for big companies to open source

#yyds干货盘点# 解决名企真题:交叉线

一个程序员的水平能差到什么程度?尼玛,都是人才呀...

Introduction and use of Kitti dataset

"July 2022" Wukong editor update record

MicTR01 Tester 振弦采集模块开发套件使用说明
随机推荐
Jetson AGX Orin CANFD 使用
Discussion on CPU and chiplet Technology
Navigation - are you sure you want to take a look at such an easy-to-use navigation framework?
【愚公系列】2022年7月 Go教学课程 005-变量
Decrypt the three dimensional design of the game
Attribute keywords serveronly, sqlcolumnnumber, sqlcomputecode, sqlcomputed
小米的芯片自研之路
JSON解析实例(Qt含源码)
Leetcode one question per day (636. exclusive time of functions)
什么是云原生?这回终于能搞明白了!
数据湖(九):Iceberg特点详述和数据类型
How to enable radius two factor / two factor (2fa) identity authentication for Anheng fortress machine
13 ux/ui/ue best creative inspiration websites in 2022
Electronic remote error
Simple use of websocket
Demis hassabis talks about alphafold's future goals
⼀个对象从加载到JVM,再到被GC清除,都经历了什么过程?
JSON parsing instance (QT including source code)
Ian Goodfellow, the inventor of Gan, officially joined deepmind as research scientist
拼多多败诉,砍价始终差0.9%一案宣判;微信内测同一手机号可注册两个账号功能;2022年度菲尔兹奖公布|极客头条...