一道zhbit的校赛题,一直没想懂怎么写,今天突然懂了。

题目链接,我校大OJ:https://oj.bnuz.edu.cn/problem/1258

题目大意:有一串只有1和6的串,保证1和6的数目相等,现在可进行以下操作,
1、交换两个数,花费1
2、随意排一个区间的序,成升序,花费0。

现在问需要多少操作才能排回61616161…这样的串


如果这题想着怎么区间排序那就GG了。
其实他的排序可以看成是1换到前面去无需要任何花费。
其实我们可以看成,假如有一个1错位的情况下,他前面的第一个错位的6可以免费跟他交换,因为每次两个数进行排序,可以保证6后往挪动,1往前挪动,且最终保证这个区间的总花费依然不变。
所以只需要用队列记录所有错位的6的位置,然后遇到错位的1,就直接免费跟他交换,最终再看一下有多少个错位的1即可。

代码:

/*
@resouces: zhbit so interesting
@date: 2017-3-21
@author: QuanQqqqq
@algorithm: yy
*/
#include <bits/stdc++.h>#define MAXN 1000005
using namespace std;int main(){int n,t,num[MAXN];queue<int> q;while(~scanf("%d",&t)){while(t--){scanf("%d",&n);for(int i = 0;i < 2 * n;i++){scanf("%d",&num[i]);}while(!q.empty()){q.pop();}for(int i = 0;i < 2 * n;i++){if(i & 1){if(num[i] == 6){q.push(i);}} else {if(num[i] == 1){if(!q.empty()){num[q.front()] = 1;q.pop();num[i] = 6;}}}}int ans = 0;for(int i = 0;i < 2 * n;i += 2){if(num[i] == 1){ans++;}}printf("%d\n",ans);}}
}

【贪心想法】2016zhbit校赛 so interesting相关推荐

  1. “诚迈杯”南邮校赛邀请赛

    昨天早上与三位队友一起参加了南邮的第三届校赛暨"诚迈杯"邀请赛,这是我大学里第一次参加现场个人赛.激动呐~ 参赛前一晚正好与欧冠相冲突,我一直纠结到底要不要去看欧冠.最后果断还是去 ...

  2. 山东科技大学第二届ACM校赛解题报告

    这次校赛的目的,是为了省赛测试各种程序是否有问题. 热身赛的逗比题有点打击我,感觉正式赛应该不会出这种问题.开始的时候直接上了A题,然后大概是第六,前面好多友情队,正式队排名第二. 然后读了读B题,稍 ...

  3. 2019xupt-acm校赛 题解 ( F.猜球球 ) by出题组tongtong

    重现赛链接 2019 ACM ICPC Xi'an University of Posts & Telecommunications School Contest 前面的话 有幸参与2019X ...

  4. XUPT-ACM校赛心得

    上周六参加了学校的acm的校赛,经过5个多小时的努力,最后摘得校赛金奖,第四名,现在写下这篇博客一来写出心中的喜悦,二来总结比赛中的不足,再者计划一下下一步的目标. 我们小队的三名队员都是大一的,大家 ...

  5. 2022杭电多校赛第八场

    2022杭电多校赛第八场 文章目录 2022杭电多校赛第八场 1004.Quel'Thalas 1001.Theramore 1011.Stormwind 1008.Orgrimmar 1005.Ir ...

  6. 飞豹杯校赛总结/2015年8-12月项目总结

    前言: 大一选择在大创的工作中成长,尽可能地与更多的人打交道.经历,厌倦,迷惘,重生,选择,在之前这个暑假里,自己选择重新回到科技制作的老路上来,这是自己迷惘后筛选后留下来的.也是自己真正热爱的东西. ...

  7. 长沙学院2021校赛

    长沙学院2021校赛 A.小圆前辈去上学 题目 思路 代码 B.小圆前辈的素数 题目 思路 CODE C.小圆前辈去爬山 D.小圆前辈的魔法 题目 思路 代码 E.小圆前辈的排列组合 题目 思路 代码 ...

  8. 2023年福建农林大学程序设计校赛个人题解(无D解析)

    2023年福建农林大学程序设计校赛个人题解(无D解析) A-这是一道原题 问题解析 从绿色材料合成到金色材料. 用 w h i l e while while 循环判断材料数是否能合成,能就合,合成后 ...

  9. 大连海事大学ACM校赛题解

    大连海事大学ACM校赛题解 感谢xzx对题目的排版~ 作为出题人之一,我先简单说一下我认为的题目难度. 我觉着第一档比较容易的签到题是L.J.M,L就是向下取整的签到:J是简单思维.构造题,到了6以后 ...

最新文章

  1. 目标定位--Deep Self-Taught Learning for Weakly Supervised Object Localization
  2. 这一年,宇宙“面目”愈发清晰
  3. keycloak 调研资料
  4. ubuntu14.04 python2.7 安装配置OpenCV3.0
  5. [css] 如何取消从父级元素继承下来的CSS样式呢?
  6. C++ 之编程语法习惯之 do{...}while(0) 的用处
  7. PIE SDK矢量数据编辑的撤销和回退
  8. 剑指offer面试题[40]-数组中只出现一次的数字
  9. Spring动态代理机制理解
  10. RxJava Map操作详解
  11. 【UVA11168】Airport(凸包+点到直线距离(一般式))
  12. 面试中如何巧妙回答离职原因
  13. Android ExoPlayer播放音视频的使用指南
  14. 富士通Fujitsu DPK700S 打印机驱动
  15. 批量打印cad的dwg文件图纸的解决方案
  16. dns配置异常怎么修复_DNS错误怎么办(如何正确设置DNS)
  17. 电子计算机扫描仪系统,人体三维扫描仪
  18. 百度云库计算机网页制作说课PPT,网页制作说课资料得
  19. uefi开发环境搭建
  20. 东南计算机学硕专硕,2019考研报考注意这个专业学硕竟然不能调剂到专硕

热门文章

  1. 帕累托改进和帕累托最优、卡尔多-希克斯改进
  2. 好系统教你如何更改Windows 10中的用户帐户控制(UAC)设置
  3. (面试---西安立辰远景公司)
  4. 用于图像语义分割的GAU与PPM
  5. 小学数学加减法测试软件,小学数学加减乘除出题软件
  6. 小程序内嵌二维码长按识别内测QA
  7. 最大流_FF思想_EK算法
  8. 程序员应具备的素质-拨乱反正篇(转)
  9. Boost ASIO proactor 浅析
  10. 生产者与消费者模式的概念、运用、3种实现