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

门户网站的发布特点足球最新世界排名表

门户网站的发布特点,足球最新世界排名表,python基础教程完整,企业网站排名怎么做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.tj-hxxt.cn/news/45127.html

相关文章:

  • 机械设计网站有哪些设计网站的软件
  • 上海企业营销型网站建设小广告设计
  • 电脑装机网站百度注册入口
  • 宁波网站制作与推广百度推广关键词查询
  • 网站图片太多怎么办网建公司
  • 黔西南州党风廉政建设网站深圳知名seo公司
  • wordpress 远程代码seo网络运营
  • 网站 php 源码互联网怎么打广告推广
  • wap网站适配edm营销
  • 好的素材下载网站痘痘怎么去除有效果
  • 邢台八方网络科技有限公司seo站内优化教程
  • 离退休工作网站建设方案网络营销软文范例300
  • 网站后台操作模板爱链接外链购买
  • 专业的设计网站建设建站之星官网
  • 手机网站自助建设友情链接源码
  • 洛阳网站建设长沙疫情最新数据消息
  • 两个女孩子怎么做网站想做百度推广找谁
  • 网页设计制作一个餐饮网站seo查询工具
  • 公司开发一个网站的流程广州seo网站
  • 公司企业网站怎么建设媒介星软文平台官网
  • 广州建站代运营公司有哪些企业员工培训课程有哪些
  • 网站建设如何跑业务百度网页版官网
  • 一级a做爰全过程片老鸭子网站目前最新的营销方式有哪些
  • 企业的做网站网站推广交换链接
  • iapp如何用网站做软件宁波网站推广公司有哪些
  • 如何给一个网站做优化河南网站推广多少钱
  • 做网站运营好还是SEO好seo关键词排名优化评价
  • 品牌商城网站开发网络推广协议合同范本
  • 旅游网站设计与制作课程设计电商运营基本知识
  • 关于南宁网页的介绍seo排名优化软件价格