zoukankan      html  css  js  c++  java
  • SG函数

    SG函数模板:

     1 void getSG(int *s,int t){
     2     int i,j;
     3     memset(sg,0,sizeof(sg));
     4     for(i=1; i<maxn; i++){
     5         memset(Hash,0,sizeof(Hash));
     6         for(j=0; j<t; j++)
     7             if(i - s[j] >= 0)
     8                 Hash[sg[i-s[j]]] = 1;
     9         for(j=0; j<maxn; j++)
    10             if(!Hash[j])
    11                 break;
    12         sg[i] = j;
    13     }
    14 }

    例子:HDU1536

    这题有个小坑,一直时间超限,只要是Hash()类型定义为int了,改问bool速度就快多了。。。

     
     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 #include <algorithm>
     5 const int maxn = 10005;
     6 int a[105],sg[maxn];
     7 bool Hash[maxn];
     8 using namespace std;
     9 
    10 void getSG(int *s,int t){
    11     int i,j;
    12     memset(sg,0,sizeof(sg));
    13     for(i=1; i<maxn; i++){
    14         memset(Hash,0,sizeof(Hash));
    15         for(j=0; j<t; j++)
    16             if(i - s[j] >= 0)
    17                 Hash[sg[i-s[j]]] = 1;
    18         for(j=0; j<maxn; j++)
    19             if(!Hash[j])
    20                 break;
    21         sg[i] = j;
    22     }
    23 }
    24 int main(){
    25     int n;
    26     while(scanf("%d",&n)!=EOF,n){
    27         for(int i = 0; i < n; i++){
    28             scanf("%d",&a[i]);
    29         }
    30         sort(a, a+n);
    31         getSG(a,n);
    32         int m;
    33         scanf("%d",&m);
    34         while(m--){
    35             int sum = 0, h;
    36             scanf("%d",&h);
    37             for(int i = 1; i <= h; i++){
    38                 int v;
    39                 scanf("%d",&v);
    40                 sum ^= sg[v];
    41             }
    42             if(sum) printf("W");
    43             else printf("L");
    44         }
    45         printf("
    ");
    46     }
    47     return 0;
    48 }
  • 相关阅读:
    jmeter之正则表达式
    python_appium搭建APP自动化测试环境
    网络编程
    四种单例模式
    Pycharm快捷键
    面向对象
    阶段性总结
    模块之numpy,pandas,matplotlib
    模块之json,pickle,os,sys,logging
    模块之Time,datatime,hashlib,hmac
  • 原文地址:https://www.cnblogs.com/xingkongyihao/p/6665578.html
Copyright © 2011-2022 走看看