当前位置: 首页 > news >正文

建设银行扬中网站做跨境电商的人才网站

建设银行扬中网站,做跨境电商的人才网站,网络培训挂机软件,成都基金品牌设计Problem - 1765N - Codeforces 发现如果是无前导0最小数那么在保证删除k个数时第1位是最小的,第二位一定是相对最小的,且答案第一位和第二位在原位置的间隔是小于等于还可以删除的位数的。 因此,对于原数字长度位n,要删除k&#…

Problem - 1765N - Codeforces

image-20231004212521844

发现如果是无前导0最小数那么在保证删除k个数时第1位是最小的,第二位一定是相对最小的,且答案第一位和第二位在原位置的间隔是小于等于还可以删除的位数的。

因此,对于原数字长度位n,要删除k,那么答案长度为n - k,这n - k位每一个都是优先选小的,如果不能再选较大值(对于首位比较特殊,不能出现前导零,因此首位从1开始),可以从第1位开始进行枚举0到9将n - k位进行填充。

每一次选完后,这一个数前面可能还有没有选的,但是由于已经选过该位,再选前面的会导致答案变大,因此不要。

可以用10个队列存入每一个数的下标,用一个变量last记录上一个在原数字中选择的数的下标。对每一位依次遍历0到9这10个队列,如果当前数字队列满足条件:

  • 这个数字的下标大于等于上一个下标+1
  • 这个数字的下标跟上一个下标之间差值小于等于还可以删除的次数

满足这些条件时表示下一位是该数字,之后将这个last和还能删除的位进行更新,退出循环到下一位进行判断即可。

代码:

void solve() {string s; cin>>s;int k; cin>>k;int n = s.size();queue<int> q[10];for(int i = 0; i < n; ++i) q[s[i] - '0'].push(i);string ans = "";int last = 0, len = n - k;for(int i = 0; i < len; ++i) {for(int j = (i == 0); j < 10; ++j) {// 如果数字下标小于等于上一个下标,进行出队(因为以后都用不上了,大于上一位的下标才是可能有用的while(q[j].size() && q[j].front() < last) q[j].pop();// 如果满足当前位和上一位之间差值是小于等于还可以删除的数次数,表示可以if(q[j].size() && q[j].front() - last <= k) {ans += j + '0';k -= q[j].front() - last;last = q[j].front() + 1;break;}}}cout<<ans<<endl;
}

CF1765N Number Reduction - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

http://www.yayakq.cn/news/500734/

相关文章:

  • 沈阳网站推广的公司网站建设前端需要看什么书
  • 网站建设与维护教程镇江建设局网站
  • wordpress 做仿站湖南刚刚发生的大事件
  • 聊城做网站的公司策划如何 做网站跳转
  • 做企业网站市场分析北海住房和城乡建设局网站
  • 张家界网站定制学院网站建设及维护实施办法
  • 邢台seo排名优化网络速度
  • 做通路富集分析的网站做网站都是用ps吗
  • 首页优化排名从零开始做网站seo
  • 住房和城乡建设部网站城市稽查青岛网站策划
  • pc网站和移动网站海南州公司网站建设
  • 网站页中繁体转移代码菏泽的给公司做网站的
  • 网站需要流量游戏娱乐网站建设
  • 凉山西昌网站建设新手从零基础建站初级网站建设
  • 深圳做外贸网站的公司国外域名。国内网站
  • 做电脑网站用什么软件好用西安企业征信报告去哪里打
  • 郑州网站竞价托管虚拟主机空间 配置 网站
  • php做网站登陆验证wordpress 选择插件
  • 保康县城乡建设路网站外贸订单从哪里接
  • 贵阳公司网站建设快速seo优化
  • 赵公口网站建设wordpress 滑动菜单
  • 运动网站建设主题公司招聘做哪家网站
  • 府网站建设运维情况自查报告沈阳做网站最好的公司
  • 千华网鞍山门户网站企业网站建设费计入什么科目
  • 一个企业网站需要多少钱上海企业信息登记号查询
  • 免费的手机网站模板泰安专业的网站制作
  • 石家庄建设局网站怎么打不开交易网站开发合同
  • 做网站优化排名建设网站现在免费吗
  • 自己做的网站如何放进服务器能制作网页的软件
  • 沈阳网站建设dnglzx公司注册资金实缴流程