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

网站开发程序流程图海南在线分类信息

网站开发程序流程图,海南在线分类信息,大气网站建设,网站pv怎么统计目录 1 基础知识2 模板3 工程化 1 基础知识 #xff08;一#xff09; Nim游戏#xff1a; n n n堆物品#xff0c;每堆有 a i a_i ai​个#xff0c;两个玩家轮流取走任意一堆的任意个物品#xff0c;但不能不取。取走最后一个物品的人获胜。 结论#xff1a;如果这n… 目录 1 基础知识2 模板3 工程化 1 基础知识 一 Nim游戏 n n n堆物品每堆有 a i a_i ai​个两个玩家轮流取走任意一堆的任意个物品但不能不取。取走最后一个物品的人获胜。 结论如果这n个数异或之和为0则先手必败否则先手必胜。 代码表示为 #include iostreamusing namespace std;int main() {int n;cin n;int res 0;while (n--) {int x;cin x;res res ^ x;}if (res) puts(Yes);else puts(No);return 0; }二 集合Nim游戏在Nim游戏的基础上对每次取走的石子做了限制每次取走的石子数必须在集合 S S S内。判断是否先手必胜。 抽象建模为 有向图游戏和SG函数在一个有向无环图中只有一个起点上面有一个棋子两个玩家轮流沿有向边推动棋子不能走的玩家判负。 定义mex函数的值为不属于集合S中的最小非负整数即 m e x ( S ) m i n { x } ( x ∉ S , x ∈ N ) mex(S)min\{x\} \ (x\notin S, x\in N) mex(S)min{x} (x∈/S,x∈N) 例如mex({0,2,3}) 1, mex({1,2}) 0。 对于状态 x x x和它的所有 k k k个后继状态 y 1 , y 2 , ⋯ , y k y_1,y_2,\cdots,y_k y1​,y2​,⋯,yk​定义SG函数 S G ( x ) m e x { S G ( y 1 ) , S G ( y 2 ) , ⋯ , S G ( y k ) } SG(x)mex\{SG(y_1), SG(y_2), \cdots, SG(y_k)\} SG(x)mex{SG(y1​),SG(y2​),⋯,SG(yk​)} 而对于由n个有向图组成的组合游戏设它们的起点分别为 s 1 , s 2 , ⋯ , s n s_1,s_2,\cdots,s_n s1​,s2​,⋯,sn​则有定理当且仅当这 n n n个数 S G ( s 1 ) , S G ( s 2 ) , ⋯ , S G ( s n ) SG(s_1),SG(s_2),\cdots,SG(s_n) SG(s1​),SG(s2​),⋯,SG(sn​)的异或和不为0时这个游戏是先手必胜的否则是先手必败的。 C代码如下 #include iostream #include unordered_set #include cstringusing namespace std;const int N 110, M 1e4 10; int n, m; int s[N]; //每次可以取的石子数目 int f[M]; //这堆有x个石子求sg[x]的值int sg(int x) {if (f[x] ! -1) return f[x];unordered_setint S;//x能走到的结点的sg函数值for (int i 0; i n; i) {if (x - s[i] 0) S.insert(sg(x-s[i]));}for (int i 0; ; i) {if (S.count(i) 0) {f[x] i;break;}}return f[x]; }int main() {cin n;for (int i 0; i n; i) cin s[i];int res 0;memset(f, -1, sizeof f);cin m;while (m--) {int x;cin x;res ^ sg(x);}if (res) puts(Yes);else puts(No);return 0; }2 模板 暂无。。。 3 工程化 题目1拆分Nim游戏取走一堆放回两堆规模更小的石子。 解题思路重点在于如何确认某一堆的sg值这样考虑遍历两堆规模更小的石子就是它的下一步状态求得它们的sg值进行mex操作即可得到这堆石子的sg值。 C代码如下 #include iostream #include unordered_set #include cstringusing namespace std;const int N 110;int n; int f[N]; //sg值int sg(int x) {if (f[x] ! -1) return f[x];//x可以走到的状态的sg值unordered_setint S;for (int i 0; i x; i) {for (int j 0; j i; j) {S.insert(sg(i) ^ sg(j));}}//mex操作for (int i 0; ; i) {if (!S.count(i)) {return f[x] i;}} }int main() {memset(f, -1, sizeof f);cin n;int res 0;for (int i 0; i n; i) {int x;cin x;res ^ sg(x);}if (res) puts(Yes);else puts(No);return 0; }
http://www.hkea.cn/news/14376730/

相关文章:

  • 微信认证 网站网站与域名
  • 推荐一些做电子的网站做渔家乐哪个网站最好
  • 做网站要学的知识中国建设银行网站地址
  • 网站推广东莞网站利用e4a做app
  • 影视网站策划书青岛seo外包公司
  • 怎么做自己的淘宝客推广网站浙江五联建设有限公司网站
  • 短视频免费素材网站兼职做放单主持那个网站好
  • 广州一站式网站建设wordpress前台显示中文怎么办
  • 织梦系统网站模板修改新余网站建设人员
  • 切图网站建设银行银监会官方网站
  • 苏州 网站设计做网站有多难
  • 手机网站建设地址有什么网站专做买生活污水设备
  • 网站关键词多少个好国内软件外包公司
  • 网站建设标准流程找个美工做淘宝网站需要多少钱
  • 安徽网站建设流程琼山网站制作
  • 做网站必须在工信部备案吗域名空间网站建设
  • php网站开发进程状态wordpress标签颜色
  • 学做网站平台知识付费网站建设
  • 网站开发公司有资质吗宁波产城生态建设集团网站
  • 加盟网站建设案例欣赏网站开发报价模板
  • 手把手教你做网站 怎么注册域名小吃网站建设规划书
  • 手机wap网站模板 带后台网站备案信息填写
  • 二级域名的网站备案无锡做智能网站
  • 品牌设计公司网站网络平台推广哪个好
  • 做网站浏览器中小型教育网站的开发与建设
  • 福州电子商务网站网站做实名认证
  • h5手机网站源码下载开发工具宏怎么使用
  • 在线平面设计网站哪个好换空间网站备案
  • 昆山市做网站的公司电子商务网站域名
  • 网站工作和网站建设管理工作广告推广怎么赚钱