首页 > 回文数
头像 Bernard5
发表于 2020-10-10 00:55:41
一道考细节的编程题。很有蓝桥杯那味了。 题意 给定数位0−90-90−9的出现次数,要求用它构造不含有前导0的最小的回文数,如果无法构造回文数,输出-1. 思路 如果有两个及以上的数位都出现了奇数次,则无法构造回文串 如果000出现2次以上,而且其他只有一个数位出现过且只出现了一次,则无法规避前导 展开全文
头像 issue是云哥的小迷×呀
发表于 2020-10-10 20:32:26
牛客练习赛71 数学考试(两种dp方式+容斥思想) 这道题可以说是对的考察非常特别 好题,但是我是废物,一种做法都没想到 转移是 这部分表示若前个数字不大于,现在就可以放数字来转移 这部分表示若前个数的最大值是,说明还有个小于的没用过 这样最后就是答案 #include <bits 展开全文
头像 Fortnight07
发表于 2020-10-10 19:56:02
无解的情况有两种: 如果只有一个奇数数码,那么可以放在中间。多个不行。 只有两个数码的值>0,且其中一个数码是0。那么如果只能放0在两边(必须为有前导0)。 然后简单的做法就是把唯一一个数码为奇数个的位置找到,然后把他的数码-1,存下他的位置。然后现在直接把他按照偶数的搞就行。 贪心很简单 展开全文
头像 拼命坚持ing
发表于 2020-10-20 08:33:31
这题实在太细节,前后WA了十几次 当有两个奇数或0的个数大于等于非0个数 输出-1 重要的是特判最后一个样例 后面就先处理回文串的前一半,再处理回文串的后一半 在代码中已经写了详细的注释 #include<bits/stdc++.h> using n 展开全文
头像 dass90
发表于 2022-10-03 17:14:33
thinking process i'm break down when i get this program. i don't solve this problem by myself.what i have written is other solution. i cite and refer 展开全文