尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

CF1408F Two Different

CF1408F Two Different
📅 发布时间:2026/6/20 10:26:13
关键是要想到可以“借数”

CF1408F Two Different

挺好的一道思维题。

手玩几个例子之后发现以下性质:

1、直接变的话,只能同时把 \(2^k\) 个数变成一样的,次数大概是 \(2^{k - 1} \times k\)。

2、零散的小堆可以向大堆借数。(初始值就是纯纯的干扰条件。。。)

3、考虑把性质 \(2\) 推广到极致:对于任意一个 \(n \in [2^k, 2^{k + 1})\),只需要先对前 \(2^k\) 处理一遍,再对后 \(2^k\) 处理一遍即可。具体的处理方法的话,找找下标规律就可以了(分治也可以)。估算一下操作次数不超过 \(2 \times (2 ^ {13} \times 13) = 212,992\)。

时间复杂度 \(O(2n \log n)​\)。

#include<bits/stdc++.h>
#define F(i,l,r) for(int i(l); i <= (r); ++ i)
#define G(i,r,l) for(int i(r); i >= (l); -- i)
using namespace std;
using ll = long long;
const int N = 3e4;
const int Q = 6e5;
int n, q;
int ans[Q][2];
void insert(int x, int y){++ q;ans[q][0] = x;ans[q][1] = y; 
}
signed main(){ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);cin >> n;int m = __lg(n) / __lg(2), r = 1 << m;F(i, 0, m - 1){int t = 1 << (i + 1);for(int j = 1; j <= r; j += t){F(k, j, j + t / 2 - 1){insert(k, k + t / 2);}}}int delta = n - r;if(delta == 0){cout << q << '\n';F(i, 1, q) cout << ans[i][0] << ' ' << ans[i][1] << '\n';}else{cout << q * 2 << '\n';F(i, 1, q) cout << ans[i][0] << ' ' << ans[i][1] << '\n';F(i, 1, q) cout << ans[i][0] + delta << ' ' << ans[i][1] + delta << '\n';}return fflush(0), 0;
}

相关新闻

  • 漏洞赏金入门指南:从零开始的实战方法论
  • 精读C++设计模式20 —— 结构型设计模式:桥接模式 - 详解
  • Qt处理Windows平板上摄像头

最新新闻

  • 赣州市黄金回收去哪儿好?整理了5家靠谱实体店地址电话 - 嵩山路大王
  • 2026 哈尔滨首饰回收哪家好 | 5 家正规门店盘点 奢二网高价上榜 - 讯息早知道
  • 终极Windows C盘清理指南:3步彻底解决C盘爆红问题
  • OpenClaw:企业微信合规自动化协议桥接器
  • Smoke评测:Qwen3 Max约束+23分逆袭,GPT-o3材料约束暴跌15.2分
  • 珠海修车保养门店怎么选?金鼎区域汽修门店对比与养车避坑干货 - 国麟测评

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号