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

什么叫网站索引asp.net网站开发框架

什么叫网站索引,asp.net网站开发框架,网站建设需要大约多少钱,微信网页版本Jump( 2015-2016 ACM-ICPC Northeastern European Regional Contest (NEERC 15). ) 题目大意#xff1a; 在这个交互式问题中#xff0c;你需要通过查询系统#xff0c;逐步找出隐藏的位字符串 S。给定一个偶数 n#xff0c;表示目标位字符串 S 的长度#xff0c;你需要通…Jump( 2015-2016 ACM-ICPC Northeastern European Regional Contest (NEERC 15). ) 题目大意 在这个交互式问题中你需要通过查询系统逐步找出隐藏的位字符串 S。给定一个偶数 n表示目标位字符串 S 的长度你需要通过与系统交互查询一组长度为 n 的二进制字符串 Q。系统会返回一个整数表示字符串 Q 与目标字符串 S 在对应位置上相同的位数。 定义一个交互问题 Jump(Q)如下所示 当 OneMax(Q) n 或 OneMax(Q) n / 2 时Jump(Q) 返回 OneMax(Q)。其他情况下Jump(Q) 返回 0。 其中 OneMax(Q) 表示字符串 Q 中与隐藏字符串 S 相同的位数。你的目标是通过最少的查询次数找出字符串 S。 问题的特点 其实你会发现你找到n/2的答案时用不了任何算法你如直接挂茅台随机。因为你会发现随机出答案 n/2 容易得多不需要花多少次数你不能指望直接随机到 n因为这几乎不可能。从 n/2 推到n就很简单了吧先把第一位翻转之后循环后面的每一位看看与第一位上的数正误是否相同。就这么简单。 题解思路 本题的关键在于如何通过交互查询逐步逼近隐藏的字符串 S。可以通过以下步骤实现 随机生成字符串首先可以随机生成一个二进制字符串 Q并查询系统的反馈值。如果反馈值为 n则说明已经找到正确的字符串直接退出。 逐步修改字符串如果查询的结果不是 n则意味着 Q 与 S 不完全相同。在这种情况下我们可以逐步修改 Q通过改变某些位并再次查询直到找到正确的字符串。修改的方法可以是根据当前查询的反馈逐步调整字符串直到最终使查询结果为 n。 查询反馈对于每一次查询你会得到反馈 0表示 Q 和 S 在任何位置上都没有匹配。n / 2表示 Q 与 S 在 n / 2 个位置上匹配。n表示 Q 完全匹配 S。 优化查询次数尽可能减少查询次数。通过不断逼近目标字符串 S每次通过修改少量位来增加匹配的位数从而更快找到 S。 代码解析 #include bits/stdc.h #define endl \n #define int long long #define BoBoowen ios::sync_with_stdio(0), cin.tie(0), cout.tie(0); using namespace std;const int mod 1e9 7; const int inf 0x3f3f3f3f; const int N 5e5 10; mt19937 rnd(114514); // 用于生成随机数int n;// 用于发送查询并获取反馈 int query(string s) {int ans 0;cout s endl; // 输出查询字符串cin ans; // 获取反馈return ans; }// 生成一个随机的查询字符串并进行查询 string pre() {while (1){string s;for (int i 0; i n; i) // 生成长度为n的随机二进制字符串{s rnd() % 2 0;}int ans query(s); // 查询if (ans n) // 如果完全匹配退出{exit(0);}if (ans n / 2) // 如果有n/2个匹配位返回该字符串return s;} }signed main() {cin n; // 读取字符串长度string t pre(); // 生成随机字符串并进行查询t[0] ^ 1; // 翻转第一个字符vectorint s1;s1.push_back(0);// 尝试修改其他字符for (int i 1; i n; i){t[i] ^ 1; // 翻转第i个字符int ans query(t); // 查询t[i] ^ 1; // 恢复原状态if (ans ! n / 2) // 如果返回的结果不是n/2则记录该字符位置s1.push_back(i);}t[0] ^ 1; // 恢复第一个字符for (auto v : s1) // 翻转记录的字符位置t[v] ^ 1;int ans query(t); // 再次查询if (ans n) // 如果完全匹配退出return 0;if (ans 0) // 如果没有匹配翻转所有位输出{for (int i 0; i n; i)t[i] ^ 1;cout t;return 0;} }代码流程 生成随机字符串并查询 通过 pre() 函数生成一个随机的二进制字符串并查询系统的反馈值。如果反馈值为 n说明已经找到目标字符串程序终止。如果反馈值为 n / 2返回该字符串进行进一步操作。 修改字符串并查询 对生成的随机字符串逐步修改翻转某些位检查每次修改后的反馈结果。如果反馈值为 n / 2则继续修改直到找到正确的字符串。 输出结果 当查询结果为 n 时输出结果并退出。如果查询结果为 0说明字符串完全不同需要将所有位翻转并输出。 总结 这道题目需要通过查询与反馈来逐步找出隐藏的目标字符串。通过对字符串的逐位修改和反馈的解析我们能够有效地逼近并最终找到目标字符串 S。
http://www.dnsts.com.cn/news/64893.html

相关文章:

  • 技术支持 东莞网站建设家装外网访问wordpress全站路径设置
  • dw如何用表格做网站铁岭做网站的公司
  • 制作一个购物网站需要多少钱图片生成链接在线工具
  • 百度上做网站需要钱吗电子贺卡怎么制作
  • 医院网站域名备案买了域名就可以做网站
  • 绛县网站建设泰安北京网站建设公司
  • 什么网站做禽苗好的网站镇江网站建设制作
  • 佛山建设公司网站天河区门户网站教育局
  • 小程序 手机网站微信公众平台注册要钱吗
  • 成品网站源码1688danji6安徽建站优化
  • 企业微信网站建设方案模板下载站长工具pr值查询
  • 外国网站dnswordpress怎么做背景
  • 网站建设好了还要收取维护费网络营销名词解释汇总
  • 做网站难吗?目录搜索引擎网站
  • 滕州盛扬网络公司网站建设推广官网mini1cn下载迷你世界登录
  • 如何制作一个网页网站百度推广自己做网站吗
  • 沈阳市建网站怎么做可以直播的网站吗
  • 网站免费php空间申请网站logo图标
  • 举重运动员 做网站手机设计软件下载
  • 小公司做网站赚钱吗北京顺企网黄页企业
  • 企业怎么做网站网站营销推广企业
  • 潍坊网站空间iis7.5 配置网站
  • 棋盘网站开发南宁网站建设服务公司
  • 网站建设51jyoo山西笑傲网站建设
  • 沈阳网站建设公司怎么样服务营销案例100例
  • 做淘宝客网站用什么系统本人急招一名临时工
  • word如何做网站注册网站电子游戏送钱了38
  • seo网站关键词排名提升多多进宝怎么推广赚钱
  • 浙江网站建设公司名单使用wordpress在ec2上建网站
  • 非常好的资讯网站设计电子商务网站建设题库及答案