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

cf -1083-div3前五题思路

A Eating Game

其实就是找最大值一共有几个

void solve()
{int mx = 0;cin >> n;int cnt = 0;for (int i = 1; i <= n; i++){int x;cin >> x;if (x > mx){mx = x;cnt = 1;}else if (x == mx)cnt++;}cout << cnt << endl;
}

B Deletion sort

很显然的遍历数组,如果能找到一组逆序对,那么可以先把其他所有元素都删掉,然后这两个数随便删一个,这样操作必然剩一个,如果不能找到逆序对,那么就不能删。

void solve()
{cin >> n;bool ok = 1;vi a(n + 1);for (int i = 1; i <= n; i++){cin >> a[i];if (a[i] < a[i - 1] && i != 1){ok = 0;}}if (!ok){cout << 1 << endl;}else{cout << n << endl;}
}

C Specialty String

可以像括号序列那样来做,因为如果能变星号的话,一定是一对一对的变,所以这种对子可以互相消除,可以认为如果栈顶和入栈元素相同,那么就可以消除,如果全消除了,就说明全为‘*’了。

void solve()
{cin >> n;cin >> s;stack<char> p;for (int i = 0; i < n; i++){if (!p.empty() && p.top() == s[i]){p.pop();}else{p.push(s[i]);}}if (p.empty()){cout << "YES" << endl;}else{cout << "NO" << endl;}
}

D Portal

俩传送门,然后你左我右,你右我左这样传送。显然中间的可以循环重排,那么我们可以找到中间数组最小数,将最小数作为开头,一直到最后,然后再从开始到最小数前,这就是新的中间数组。再从剩下的里面找第一个大于中间数组最小值的数,将中间数组插到这个数前面就行了

void solve()
{cin >> n >> x >> y;vi a(n + 1);for (int i = 1; i <= n; i++){cin >> a[i];}vi b, c;for (int i = x + 1; i <= y; i++){b.push_back(a[i]);}int mi = 0;for (int i = 0; i < b.size(); i++){if (b[i] < b[mi]){mi = i;}}vi tb;for (int i = mi; i < b.size(); i++){tb.push_back(b[i]);}for (int i = 0; i < mi; i++){tb.push_back(b[i]);}b = tb;for (int i = 1; i <= x; i++){c.push_back(a[i]);}for (int i = y + 1; i <= n; i++){c.push_back(a[i]);}int op = c.size();for (int i = 0; i < c.size(); i++){if (c[i] > b[0]){op = i;break;}}for (int i = 0; i < op; i++){cout << c[i] << " ";}for (int i = 0; i < b.size(); i++){cout << b[i] << " ";}for (int i = op; i < c.size(); i++){cout << c[i] << " ";}cout << endl;
}

E Divisive Battle

先判断一开始是否是非递减的,如果是bob就赢了。
想一下,如果一个数有两个或以上的质因数,可以把最小的质因数分解放在右面,这样无论怎么样Alice都赢了。
如果一个数只有一个质因数(质数的幂)或者说是1,那么他对结果的贡献就是这个质数或者1。
所以,构建一个新数组,分析每个元素是1,还是单质数的幂,还是有两个以上的质因数。
如果这个数组只有1,单质数的幂,那么直接看看新数组是不是非递减就行了,如果不是那么Alice就赢了。

void solve()
{cin >> n;vi a(n);for (int i = 0; i < n; i++){cin >> a[i];}vi b(n);for (int i = 0; i < n; i++){b[i] = op(a[i]);}if (is_sorted(all(a))){cout << "Bob" << endl;}else if (*min_element(all(b)) == -1){cout << "Alice" << endl;}else if (is_sorted(all(b))){cout << "Bob" << endl;}else{cout << "Alice" << endl;}
}

最后想写以前没咋用过的几个函数

*min_element(all(a)),找a数组最小元素

*max_element(all(a)),找a数组最大元素

fill(all(a),x),把所有元素设为x;

is_sort(all(a)),判断a数组是不是非递减的

http://www.jsqmd.com/news/421148/

相关文章:

  • 2026深圳留学中介推荐,深圳高端留学中介精选汇总 - 品牌2025
  • 为什么很多人用了代理IP账号还是被关联?
  • 2026年国内最新美缝剂实力厂家优选指南 五大品质品牌参考 - 十大品牌榜
  • 2026河东区河西区别墅装修口碑推荐 聚焦全案设计与别墅施工 - 品牌智鉴榜
  • 嘎嘎降AI和比话降AI哪个好?花了200块实测对比告诉你 - 我要发一区
  • 论文降AI率总是反弹怎么办?这个方法帮你一次搞定 - 我要发一区
  • DeepSeek降AI指令怎么写?手把手教你3步降到20%以下 - 我要发一区
  • 2026年螺栓选购指南:口碑佳的螺栓品牌有哪些?螺母/标准件/涂胶/非标螺丝/紧固件/五金件/螺栓/螺丝,螺栓品牌推荐 - 品牌推荐师
  • Valgrind内存泄漏排查指南
  • 讲讲上海工作装定制定做推荐,更上制服各方面表现不错,值得选吗? - 工业品牌热点
  • 不踩雷! 降AIGC网站 千笔·专业降AIGC智能体 VS WPS AI 专科生首选
  • 桥梁橡胶支座供应商口碑好的推荐,衡水博利适合云南桥梁吗? - 工业推荐榜
  • ai大模型是什么
  • 效率直接起飞 10个AI论文平台深度测评:自考毕业论文+格式规范全攻略
  • 折腾了两天本地部署,才发现七牛有现成的 OpenClaw 镜像
  • 微图App从入门到实战(11):图层管理之常规
  • 2026国内最新玻璃胶品牌优选指南 五大品质厂家参考 - 十大品牌榜
  • 微图App从入门到实战(13):图层管理之气泡
  • 微图App从入门到实战(9):图层管理之要素文件夹
  • 解读广东展览服务公司,企亮展览设计能力与靠谱程度探讨 - myqiye
  • 高海拔也能用!四川靠谱地暖安装服务商TOP3 - 深度智识库
  • 微图App从入门到实战(10):图层管理之属性字段
  • 2026年上海口碑不错婚姻家庭律师排名,专业团队为你护航! - 工业品牌热点
  • 2026年研究生论文降AI用什么工具?4款通过率最高的推荐 - 我要发一区
  • 2026 最新索罗娜系列面料供应商/厂家TOP5评测!权威榜单发布,赋能纺织服饰产业升级 - 十大品牌榜
  • 柴油发电机租赁怎么选?看这5家就够了:资质全、响应快、油耗低 - 深度智识库
  • 2026 最新冲锋衣面料服务商/厂家 TOP5 评测!权威榜单发布,功能性面料赋能户外服饰升级 - 十大品牌榜
  • 2026年2月组合式净化槽批发厂家,模块化生产与快速交付 - 品牌鉴赏师
  • 基于Django的智慧农业管理系统
  • ChatGPT写的论文如何降AI率?从初稿到终稿完整攻略 - 我要发一区