大连现场赛B题
来源:互联网 发布:淘宝摇杆 编辑:程序博客网 时间:2024/04/27 21:45
虽然没看懂,但是记录下我悲伤的几个星期,虽然看懂了shift_and算法,但是这个映射是什么鬼
#include <iostream>#include <cstdio>
#include<cstring>#define MAX_N 1005#define MAX_LEN 10000005#define MAX_ARR_LEN ((MAX_N >> 6) + 5)#define MASK 63using namespace std;typedef unsigned long long myint;myint num[10][MAX_ARR_LEN];myint ret_n[MAX_ARR_LEN];myint ind_x_arr[MAX_N];myint ind_y_arr[MAX_N];char str[MAX_LEN];void init(myint n){ memset(num, 0, sizeof(num)); memset(ret_n, 0, sizeof(ret_n)); for (myint i = 0; i < n; i++) { ind_x_arr[i] = (i >> 6) + 1; ind_y_arr[i] = ((myint)1 << (i & MASK)); //printf("ind_x_arr[%llu]=%llu\n",i,ind_x_arr[i]); //printf("ind_y_arr[%llu]=%llu\n",i,ind_y_arr[i]); }}inline void set_one(myint *arr, myint n){ arr[ind_x_arr[n]] |= ind_y_arr[n];}inline bool seek_one(myint *arr, myint n){ return arr[ind_x_arr[n]] & ind_y_arr[n];}inline void left_move_one(myint *arr, myint n){ for (myint i = n; i >= 1; i--) { arr[i] <<= 1; arr[i] |= (!!(arr[i - 1] & 0x8000000000000000LL)); } set_one(arr, 0);}inline void and_opt(myint *arr1, myint *arr2, myint n){ for (myint i = 1; i<= n; i++) { arr1[i] &= arr2[i]; }}int main(){ myint n, ai, bi, len, l; char ch; scanf("%llu", &n); init(n); for (myint i = 0; i < n; i++) { scanf("%llu", &ai); for (myint j = 0; j < ai; j++) { scanf("%llu", &bi); set_one(num[bi], i); } } scanf("%s", str); len = strlen(str); l = (n >> 6) + (!!(n & MASK)); for (myint i = 0; i < len; i++) { left_move_one(ret_n, l); and_opt(ret_n, num[str[i] - '0'], l); if (seek_one(ret_n, n - 1)) { ch = str[i + 1]; str[i + 1] = '\0'; printf("%s\n", str + i - n + 1); str[i + 1] = ch; } } return 0;}
0 0
- 大连现场赛B题
- 套题总结:2011大连现场赛
- 大连现场赛
- 大连赛区现场赛D题 ZOJ 3542 Hexadecimal View
- ZOJ 3542 2011大连现场赛D题(简单模拟)
- 2016acmicpc现场赛大连赛区D题
- 大连现场赛A题,匹配并查集
- Detachment (Hdu5976)2016大连现场赛F题
- 2011 ACM亚洲预选赛大连站 现场赛 D题 Hexadecimal View
- ZOJ 3547 The Boss on Mars 2011大连现场赛I题 数论
- hdu 45092011年大连现场赛I题(容斥原理)
- 2016/41届ACM/ICPC大连现场赛D题&hdoj5974
- Game of Taking Stones (hdu5973)——2016大连现场赛C题 威佐夫博弈
- 2011年第36届大连赛区现场赛Board
- ZOJ 3542 Hexadecimal View [2011大连现场赛]
- HDU 4059 The Boss on Mars 2011大连现场赛
- 2016 acm/icpc 大连站现场赛(7道题)
- HDOJ 5976 Detachment【2016大连现场】【数学好题】
- Writing in the Sciences 课程笔记(论文的组织和写作)
- 收获的意义很大
- JSP/Servlet 工作原理
- Android7.0 编译问题
- Logistic回归的实现
- 大连现场赛B题
- HDU 1301(prim+字符串处理)
- 【LeetCode】392. Is Subsequence
- 从TCP三次握手说起--浅析TCP协议中的疑难杂症(1)
- Spark中的资源调度
- 重磅消息:App Store已经支持支付宝啦
- 第九周大帆玩英雄联盟
- 日常阅读列表(3)
- Hdu-5915 The Fastest Runner Ms. Zhang(环套树DP)