暑期五
A
a题与g题意思一样,只是数据范围不一样。
题意:德国柏林现在举行一场选举,你想让每个人都投给你一票,有两种方法,给他们pi钱,或者有mi个人支持你,现在有n个人,他们有不同的pi,mi,其中(1<=pi<=10e9)(0<=mi<n)(1<=n<=5000),求赢得选举花的最小钱数。
补题:参考的官方题解,以mi归类,最佳方法是从后向前讨论,假设前面的人都支持,如果前面人数加上已付钱人数大于后面的mi,则后面人白嫖,否则从后面选最便宜的补到等于mi为止,累加花钱得到的人数,感觉有点像递推。
B
题意:给你一串0~9组成的字符串,相邻的奇偶性不同的成员可以交换位置,输出字典序最小的字符串。
思路:只要有不同奇偶性的字符存在,它们之间的位置可以随便交换,但是相同奇偶性的字符不能交换位置不变。所以分成两个数组,一个装奇数,一个装偶数,元素循序不变。然后从头开始比较大小分别输出。
C
题意:找出含有奇数个相同字符的字符串,并按照字典序输出它们的最短重复序列。
水题。
D
题意:把s钱分给n个员工,每个员工工资有一个范围,求分配完成后员工工资的最大中位数是什么。
补题:待补大概是分治法
E
题意:给你一堆木条,一些是白色的,一些是红色的。然后要把这些木条拼到一起构成长度先递增后递减的样子,然后要求红色木条长度最长,问最后使得这个拼凑出来的多边形的周长为Qi的方案数是多少
F
题意:给你几个由01组成的字符串你可以任意交换其中的0,1。求交换后最多的回文字符串为几个。
补题:统计0,1字符串的个数,按照字符串长度从小到大的循序,再分配给每个字符串。分配时,0,1个数中奇数项优先被分配。
统计0,1字符串的个数,按照字符串长度从小到大的循序,再分配给每个字符串。分配时,0,1个数中奇数项优先被分配。
G:
题意思路与A意思一样范围改为(1<=n<=2e5)
总结:这组题较难,补题时发现做题时没有抓住题目的重点找不出清晰的思路。