CF423div2-C
来源:互联网 发布:湖南棋牌app源码 编辑:程序博客网 时间:2024/05/29 12:28
题意:给你一些子字符串猜字符串
题解思路:路径压缩去找最右边没有被使用过的字符赋上字符即可
#include<iostream>#include<cstring>#include<algorithm>using namespace std;const int mx = 3e6+5;int p[mx];char s[mx];char str[mx];int find(int x){ return p[x] == x?x:p[x] = find(p[x]);}int main(){ int n,m,pos; for(int i = 0; i < mx; i++) p[i] = i; memset(s,0,sizeof(s)); int MAXN = 0; scanf("%d",&n); while(n--){ scanf("%s",str); scanf("%d",&m); int len = strlen(str); while(m--){ scanf("%d",&pos); pos--; MAXN = max(MAXN,pos+len); for(int i = find(pos); i-pos<len; i = p[i] = find(i+1)) s[i] = str[i-pos]; } } for(int i = 0; i < MAXN; i++) if(s[i] == 0) putchar('a'); else printf("%c",s[i]); printf("\n"); return 0;}
阅读全文
0 0
- CF423div2-C
- c
- c
- c
- c
- C
- c
- c
- c
- C+
- c
- C
- c
- c
- c
- C
- C
- c
- leetcode 383. Ransom Note
- 关于绑定IP地址与端口号的见解
- poj 1873The Fortified Forest (凸包 二进制枚举)
- 关于Oracle 数据库等待事件library cache: mutex X
- BZOJ 1822 计算几何+网络流+二分答案 解题报告
- CF423div2-C
- XML文件操作函数
- VC6 C++控制台程序如何判断用户输入的是什么数字[必须小于128]?
- import { Injectable } from '@angular/core'; import { Http, Headers, RequestOptions, Response } from
- synchronized和lock的区别
- 安卓动画之位移动画
- Android Wi-Fi 设置带宽代码流程
- 【安全牛学习笔记】漏洞挖掘
- WUST 1874 分组背包 【模板】