码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • B. Elimination of a Ring Pinely Round 1 (Div. 1 + Div. 2)


    传送门

    题目意思: 给你一个为环的序列n,这个序列有一个特殊的地方:就是如果有相邻元素相等他就会立马删除其中一个元素(第一个和最后一个相邻)。 然后你每次可以删除一个元素,问你能删除的最多的操作数是多少。

    题目思路:

    我们可以发现如果有一个元素只有一个数的话,那么可以通过以这个元素为中心不断删除n次。

    首先如果元素种类为2 的话,肯定结果就是n/2+1,

    当环中至少含有三种不同的元素 假设是a,b,c(三种),然后我们以任意一个元素为中心

    ,假设是b然后删除他周围的能删的数,直到不能删了或者有一个数存在一个。

    如果是不能以b为中心去删了,那么因为至少含有三种元素,那么一定会有一个元素只有一个。、

    那么无论如果都会有存在一个元素只存在一个的情况。

    所以可以一直删直到n次

    所以就是如果元素种类大于等于3就是n,否则为n/2+1;

    1. /**
    2. *  ┏┓   ┏┓+ +
    3. * ┏┛┻━━━┛┻┓ + +
    4. * ┃       ┃
    5. * ┃   ━   ┃ ++ + + +
    6. * ████━████+
    7. * ◥██◤ ◥██◤ +
    8. * ┃   ┻   ┃
    9. * ┃       ┃ + +
    10. * ┗━┓   ┏━┛
    11. *   ┃   ┃ + + + +Code is far away from  
    12. *   ┃   ┃ + bug with the animal protecting
    13. *   ┃    ┗━━━┓ 神兽保佑,代码无bug 
    14. *   ┃       ┣┓
    15. *   ┃        ┏┛
    16. *  ┗┓┓┏━┳┓┏┛ + + + +
    17. *    ┃┫┫ ┃┫┫
    18. *    ┗┻┛ ┗┻┛+ + + +
    19. */
    20. #include
    21. #include
    22. #include
    23. #include
    24. #include
    25. #include
    26. #include
    27. #include
    28. #include
    29. #define sc_int(x) scanf("%d", &x)
    30. #define sc_ll(x) scanf("%lld", &x)
    31. #define pr_ll(x) printf("%lld", x)
    32. #define pr_ll_n(x) printf("%lld\n", x)
    33. #define pr_int_n(x) printf("%d\n", x)
    34. #define ll long long
    35. using namespace std;
    36. const int N=1000000+100;
    37. int n ,m,h;
    38. ll s[N];
    39. int main()
    40. {
    41. int t;
    42. sc_int(t);
    43. while(t--)
    44. {
    45. map<int,int>q;
    46. cin>>n;
    47. int res=0;
    48. for(int i =1;i<=n;i++)
    49. {
    50. cin>>s[i];
    51. if(!q[s[i]]){
    52. q[s[i]]=1;
    53. res++;
    54. }
    55. }
    56. if(res>=3)cout<
    57. else cout<2+1<
    58. }
    59. return 0;
    60. }

  • 相关阅读:
    Windows 系统服务器部署jar包时,推荐使用winsw,将jar包注册成服务,并设置开机启动。
    开发者测试2023省赛--UnrolledLinkedList测试用例
    【Unity】思考方式与构造 | 碰撞器/刚体/预设/组件
    最后 3 天|报名参加 OpenYurt+EdgeX 挑战赛 ,冲击最高 5 万元奖励!
    uni-app 使用uni.getLocation获取经纬度配合腾讯地图api获取当前地址
    MySQL Joins 学习笔记
    Lock使用及效率分析(C#)
    2023年IB四大科目将改革
    第二增长曲线 | 企业创新突破停滞困境的驱动指南
    生成式AI新篇章:亚马逊云科技助力重塑数字未来
  • 原文地址:https://blog.csdn.net/jikelk/article/details/128054507
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号