XEN 3166
XEN 3166
这题原题是spj,校oj上只用判断yes no,不过也差不多
题意分析之后就是求两个东西:
- 字典序最小的长度为m的子序列
- 同时这个字典序严格大于某个字符串
用序列自动机 先尽量相同,然后再考虑严格大于
#include <bits/stdc++.h>
using namespace std;
const int maxn = 200010;
int last[27], nxt[maxn][27], len;
void init(const char s[]) {
len = (int) strlen(s);
for (int i = 0; i < 26; ++i) last[i] = len + 1;
for (int i = len; i >= 1; i--) {
for (int j = 0; j < 26; ++j) {
nxt[i][j] = last[j];
}
last[s[i - 1] - 'A'] = i;
}
for (int j = 0; j < 26; ++j) {
nxt[0][j] = last[j];
}
}
char s[2][maxn];
int n, m;
int solve(char pre[], char ans[], const char name[]) {
if (len < m) return false;
if (pre[1] == name[0]) {
if (m <= 1) return 0;
int a = 0, b = 0, c = 0;
for (int i = 1, j = 1; i < m && j <= len; ++i) {
ans[i] = pre[i];
for (int k = pre[i + 1] - 'A' + 1; k < 26; ++k) {
if (i + len - nxt[j][k] + 1 >= m) {
a = i;
b = j;
c = k;
break;
}
}
j = nxt[j][pre[i + 1] - 'A'];
}
if (!a) return 0;
ans[a + 1] = char(c + 'A');
//
for (int i = a + 1, j = nxt[b][c]; i < m; ++i) {
for (int k = 0; k < 26; ++k) {
if (i + len - nxt[j][k] + 1 >= m) {
ans[i + 1] = char(k + 'A');
j = nxt[j][k];
break;
}
}
}
} else {
ans[1] = name[0];
for (int i = 1, j = nxt[0][name[0] - 'A']; i < m; ++i) {
for (int k = 0; k < 26; ++k) {
if (i + len - nxt[j][k] + 1 >= m) {
ans[i + 1] = char(k + 'A');
j = nxt[j][k];
break;
}
}
}
}
return 1;
}
string p[1010];
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> n >> m;
for (int i = 1; i <= n; ++i) {
cin >> p[i];
}
sort(p + 1, p + 1 + n);
bool flag = 1;
for (int i = 1; i <= n; ++i) {
init(p[i].c_str());
if (!solve(s[i % 2], s[1 - i % 2], p[i].c_str())) {
flag = 0;
break;
}
}
if (flag) cout << "YES" << '\n';
else cout << "NO" << '\n';
return 0;
}
XEN 3166的更多相关文章
- 虚拟机体验之 Xen 篇 —— 令人脑洞大开的奇异架构
这一篇我要体验的虚拟机系统是 Xen.在虚拟机领域,Xen 具有非常高的知名度,其名字经常在各类文章中出现.同时 Xen 也具有非常高的难度,别说玩转,就算仅仅只是理解它,都不是那么容易.之所以如此, ...
- 【转】Xen与XenServer的区别
说到XenServer,总是离不开Xen,所以我要说他们的区别,得首先从Xen开始说起! Xen体系架构 Xen hypervisor体系架构 Xen 的 VMM ( Xen Hypervisor ) ...
- Xen之初体验:XenMotion、 StorageMotion、Site Recovery、Power Management 各种新、高级功能免费
Xenserver 的新版本6.2现在已经全面开源,省掉了原有的序列号,也能免费体验曾经标题中的付费高级功能. 安装镜像:http://downloadns.citrix.com.edgesuite. ...
- Citrix Xen Desktop安装配置
Citrix虚拟化的东西其实和我现在做的东西完全没有关系的.反正接到通知要搭一个Citrix Xen Desktop那就做. 先放几个教程: :跟着图片通过XenDesktop7发布Win8桌面 这个 ...
- xen下离线读取虚拟机磁盘镜像的补丁
之前在xen-3.4.2和xen-4.1.2下做过几个基于qemu模拟器的补丁,就是想着不用通过xm create(xen3下面)或xl create(xen4下面)启动虚拟机,而能直接去解析磁盘镜像 ...
- XEN的启动信息输出到“Platform timer is 14.318MHz HPET”就暂停接收的解决办法
使用Serial Over Lan(SOL)来双机调试 XEN,在 XEN 启动时,引导信息输出到以下这一句时,就不再发送调试信息了: ...(XEN) Intel machine check rep ...
- 利用 Serial Over Lan(SOL)搭建 XEN 的调试信息输出环境
如有转载,请注明出处与本文连接,谢谢! 修改XEN的源码实现额外的功能,需要有一个调试环境来得到XEN的调试信息(有关源码编译并安装 XEN 请阅读我以前的博文:在CentOS下源码安装 Xen并搭建 ...
- Ubuntu系统下Xen虚拟机的基本安装方法(代码创建)
Ubuntu上Xen安装虚拟机方法一dd一个空的磁盘sudo dd if=/dev/zero of=/home/vm1.img bs=1G count=8 下载Xen VM通用配置文件 sudo wg ...
- Xen启动过程分析(还是分享过来吧,找了好长时间)
XEN启动过程 Xen Hypervisor运行在Ring0,在启动过程中,Xen首先被引导:系统由Grub启动,遵循Multiboot引导规范:然后Linux内核做为module也被引导入 ...
随机推荐
- xxe
XXE xml external entity injection xml外部实体注入 概述 xml是可扩展的标记语言,涉及被用来传输.存储数据 html被用来显示数据 其中xml的标签没有预定义的, ...
- 吴裕雄--天生自然 PHP开发学习:运算符
<?php $x=10; $y=6; echo ($x + $y); // 输出16 echo '<br>'; // 换行 echo ($x - $y); // 输出4 echo ' ...
- js事件函数中function(e){}
简单来说就是指向了当前发生的事件(click.mouseover等等),保存了当前事件的信息.如鼠标点击事件,有鼠标的坐标信息.其中,e是标准浏览器传递进去的事件参数,低版本IE不会传递,事件参数放置 ...
- MySQL数据库的数据类型
1.整数型 2.日期和时间类型 3.字符串类型
- LeetCode 543. Diameter of Binary Tree 二叉树的直径 (C++/Java)
题目: Given a binary tree, you need to compute the length of the diameter of the tree. The diameter of ...
- Bugku web(1—35)
1.web2 打开网页: 哈哈,其实按下F12你就会发现flag. 2.计算器 打开网页,只是让你输入计算结果,但是发现只能输入一个数字,这时按下F12,修改一下参数,使之可以输入多个数字,修改后输入 ...
- SQL基础教程(第2版)第4章 数据更新:4-4 事务
●事务是需要在同一个处理单元中执行的一系列更新处理的集合. ● 事务处理的终止指令包括COMMIT(提交处理)和ROLLBACK(取消处理)两种. ● DBMS的事务具有原子性(Atomicity). ...
- java this的用法以及原理
/** * this存在方法中,在方法中被调用. * 且是非static方法中被调用.(this 表示这个类的当前实例,而静态方法不依赖于该类的任何实例,随着类产生而装载,因此方法内不能引用 this ...
- 当初希望自己是如何投入这个专业的学习的?曾经做过什么准备,或者立下过什么FLAG吗?
学习好累,打游戏好爽 我不爱学习 认真勤勉投入学习 精心准备,刻苦学习 我的flag 作为大学生,需要了解今后职场社会,对职业方向有了进一步的认识.社会对于人才的要求在某些方面都是不谋而合的,比 ...
- 素小暖讲JVM:Eclipse运行速度调优
本系列是用来记录<深入理解Java虚拟机>这本书的读书笔记.方便自己查看,也方便大家查阅. 欲速则不达,欲达则欲速! 这两天看了JVM的内存优化,决定尝试一下,对Eclipse进行内存调优 ...