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

P13617 [ICPC 2024 APC] Bit Counting Sequence

P13617 [ICPC 2024 APC] Bit Counting Sequence


对于一个非负整数 \(x\),令 \(p(x)\)\(x\) 的二进制表示中 1 的个数。例如,\(p(26)=3\),因为 \(26=(11010)_2\)

给定长为 \(n\) 的整数序列 \((a_1, a_2, ..., a_n)\),判断是否存在一个非负整数 \(x\),使得序列 \((p(x), p(x+1), ..., p(x+n-1))\)\((a_1, a_2, ..., a_n)\) 相等。此外,如果存在,你需要计算满足条件的最小的 \(x\)


假设整个序列里面的最小值 \(\ge 2\),那么我们会发现解 \(x_0\) 的最高位始终没有变过,否则变化的时刻 \(a_t\) 应为 \(1\)

所以我们可以去掉 \(x_0\) 的最高位然后考虑剩下的子问题。

重复这个过程相当于整体减 \(1\) 直到整个序列的最小值为 \(1\)

又因为 \(1\) 所在位置必然是 \(2\) 的整数次幂,只有 \(\mathcal O(\log)\) 种取值,暴力 check 即可!


感谢 @wing_heart ,她的思路给了我很大启发!

#include <algorithm>
#include <iostream>int n, v[500007];
#define p(x) (1ll<<(x))inline void solve() {std::cin >> n;auto check = [](auto&& beg) {for(int i = 0; i < n; ++i)if(v[i] != __builtin_popcountll(i + beg))return 0;return 1;};int min = 100, post = -1;for(int i = 0; i < n; ++i) {	std::cin >> v[i];if(v[i] <= min) min = v[i], post = i;}if(min == 0) {std::cout << (check(0) ? "0\n" : "-1\n");return ;}--min; for(int i = 0; i < n; ++i) v[i] -= min;for(int i = 0; i <= 60; ++i)if(p(i) >= post && check(p(i) - post))return std::cout << (p(i) - post + p(i + min + 1) - p(i + 1)) << "\n", void();std::cout << "-1\n";
}int main() {std::ios::sync_with_stdio(0), std::cin.tie(0), std::cout.tie(0);int t; std::cin >> t; for(; t--; ) solve();
}
http://www.sczhlp.com/news/129867/

相关文章:

  • 专门做手工的网站电脑网页无法打开是什么原因
  • 杭州城西做网站的公司网站收录入口申请
  • 做网站和做app哪个更难电商设计是什么意思
  • 重庆网站建设师美容网站模版
  • 有发展的小企业网站建设企业网站色彩搭配
  • 东营远见网站建设公司建设银行境外购物网站
  • 网站维护与优化教程廊坊百度推广代运营
  • 网站域名如何从代理商那里转出来微网站和小程序的区别
  • 青岛做外贸网站网站上怎么做推广比较好呢
  • 打一局吗(60pts 解法)
  • 软工9.23
  • 本地部署qwen-0.6b
  • 25分钟小练习
  • 网站开发交易平台专业网站建设的价格
  • 建立网站对吗wordpress 微信公众号 oa
  • 网站建设的具体过程婚庆公司网页设计模板
  • 域名网站打开慢WordPress链接有中文导致打不开
  • 门户网站建设的平台加载wordpress外部文件路径
  • 第七章 手写数字识别V2
  • 常用软件下载
  • 网站开发专业前景新闻类wordpress模板下载
  • 儿童7一8岁手工阿里seo外包能去吗
  • 网站页面设计流程vv游戏推广平台
  • 甘肃省建设局官方网站网站技术开发文档模板
  • 竹子建站免费版网络营销是学什么的
  • 石家庄学网站建设企业门户样式
  • 东莞好的网站建设哪家好wordpress页眉页脚插件
  • 实用指南:S 4.1深度学习--自然语言处理NLP--理论
  • 济南网站推广¥做下拉去118cr房地产电商网站建设
  • PyTorch图神经网络(五)