nyoj-138-找球号(二)----hash算法之除留余数法+vector
生活随笔
收集整理的這篇文章主要介紹了
nyoj-138-找球号(二)----hash算法之除留余数法+vector
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
找球號(二)
時間限制:1000?ms ?|? 內存限制:65535?KB 難度:5 描述隨后有n行;
每行可能出現如下的任意一種形式:
第一種:
一個字符串"ADD",接著是一個整數m,隨后有m個i;
第二種:
一個字符串"QUERY”,接著是一個整數M,隨后有M個ki;
在網上看到一個比較優秀的代碼,但有點看不懂,請大神指教,如下:
#include<stdio.h> unsigned int hash[3125005] = {0}; int main() {int i,a,t,n;char str[10];scanf("%d", &t);while(t--){scanf("%s %d", str, &n);if(str[0] == 'A'){for(i = 0; i < n; ++i){scanf("%d", &a);hash[a / 32] |= 1 << (a % 32);}}else if(str[0] == 'Q'){for(i = 0; i < n; ++i){scanf("%d", &a);if(hash[a / 32] & (1 << (a % 32)))printf("YES\n");elseprintf("NO\n");}}}return 0; }總結
以上是生活随笔為你收集整理的nyoj-138-找球号(二)----hash算法之除留余数法+vector的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里高级技术专家邱小侠:微服务架构的理论
- 下一篇: nyoj-496-巡回赛--拓扑排序