LCS(2021牛客多校4)

题意:

让你构造三个字符串s1,s2,s3,长度均为n,要求LCS(s1,s2)=a,LCS(s2,s3)=b,LCS(s1,s3)=c

题解:

先考虑三个串互相LCS为x,y,z,且x>=y>=z
显然如果x+y-n>z则无解,反之x+y-n<=z有解
那么就先给三个串加上一个z个a的前缀,然后就变成了x-z,y-z,0,n-z的问题
因为x+y-n<=z,所以(x-z)+(y-z)<=n-z,所以给前两个串一起放上x-z个b,后两个串放上y-z个c即可

代码:

#include<stdio.h>
#include<cstring>
#include<algorithm>
#include<vector>
#include<map>
#include<assert.h>
#include<set>
#include<cmath>
#include<queue>
#include<cstdlib>
#include<iostream>
#include<bitset>
#define pii pair<int,int>
#define fi first
#define se second
#define pb push_back
#define rep(i,j,k) for(int i=(int)(j);i<=(int)(k);i++)
#define per(i,j,k) for(int i=(int)(j);i>=(int)(k);i--)
using namespace std;
typedef long long LL;
typedef double db;
const int N=1005;
int n,a,b,c;
char x[N],y[N],z[N];
void work(int a,int b,int c){rep(i,1,c)x[i]=y[i]=z[i]='a';a-=c;b-=c;rep(i,c+1,c+a){x[i]='b';y[i]='b';z[i]='q';}rep(i,c+a+1,c+a+b){x[i]='p';y[i]='c';z[i]='c';}rep(i,c+a+b+1,n){x[i]='x';y[i]='y';z[i]='z';}
}
void opt(char *a,char *b,char *c){rep(i,1,n)putchar(a[i]);puts("");rep(i,1,n)putchar(b[i]);puts("");rep(i,1,n)putchar(c[i]);puts("");
}
int main(){scanf("%d%d%d%d",&a,&b,&c,&n);if(c<a+b-n||a<b+c-n||b<a+c-n){puts("NO");return 0;}if(c<=a&&c<=b){work(a,b,c);opt(x,y,z);}else if(a<=c&&a<=b){work(b,c,a);opt(z,x,y);}else{work(a,c,b);opt(y,x,z);}return 0;
}

LCS(2021牛客多校4)相关推荐

  1. 【2021牛客多校2】F-Girlfriend 计算几何

    2021牛客多校2-F F-Girlfriend 题目大意 给出四个点 A , B , C , D A, B, C, D A,B,C,D 另有两点 P 1 , P 2 P_1, P_2 P1​,P2​ ...

  2. K-Stack 2021牛客多校2

    链接:https://ac.nowcoder.com/acm/contest/11253/K 来源:牛客网 题目描述 ZYT had a magic permutation a1,a2,⋯ ,an a ...

  3. 2021牛客多校第八场补题 D-OR

    链接:https://ac.nowcoder.com/acm/contest/11259/D 来源:牛客网 题目描述 There are two sequences of length n−1n-1n ...

  4. 2021牛客多校第五场补题

    B-Boxes 链接:https://ac.nowcoder.com/acm/contest/11256/B 来源:牛客网 题目描述 There're nn_{}n​ boxes in front o ...

  5. 2021牛客多校9 - Cells(推公式+NTT)

    题目链接:点击查看 题目大意:初始时给出 nnn 个点,分别为 {(0,a0),(0,a1),⋯,(0,an)}\{(0,a_0),(0,a_1),\cdots,(0,a_n)\}{(0,a0​),( ...

  6. (2021牛客多校一)A.Alice and Bob(博弈)

    样例输入: 5 2 3 3 5 5 7 7 5 7 7 Bob Alice Bob Bob Alice 题意:有两堆石子,石子数目分别为n和m,Alice和Bob轮流进行以下操作: 从一堆石子中取出k ...

  7. 【多校训练】2021牛客多校5

    [前言] 很久没有时间整理题解了,补题和打游戏的时间居多(doge) 这场其实主要F出题人数据有锅,花太多时间了(赛后重测是一血),然后后面G想歪了爆搜剪枝没过,I的回滚莫队队友前一天写了结果今天写不 ...

  8. FFT ---- 2021牛客多校第一场 H Hash Function

    题目链接 题目大意: 解题思路: 首先我们知道任意两个数%seed\%seed%seed都不相同→\rightarrow→(aj−ai)%seed≠0(∀ai≤aj)(a_j-a_i)\%seed\n ...

  9. 线段树 ---- 2021牛客多校第一场 J Journey among Railway Stations [线段树维护区间可行性判断]

    题目链接 题目大意: 一段路上有 NNN 个点,每个点有一个合法时间段[ui,vi][u_i,v_i][ui​,vi​],相邻两个点有一个长度wiw_iwi​.有qqq次询问,每次询问,在 [ui,v ...

最新文章

  1. 【收藏】Linux系统常用命令速查手册(附赠PDF档)
  2. 推荐13个.Net开源的网络爬虫
  3. 微信小程序的页面渲染(if/for)
  4. jeecg中ajax传值的前端js和后台代码
  5. 防火墙和路由器的滑铁卢:NAT Slipstreaming攻击
  6. java断言assertequals_如何实现Java测试的自定义断言
  7. 设置eclipse自动生成的author等注释
  8. ucos ii 源代码中文注释详解: OS_CPU.c
  9. “反催收”渐成黑灰产业 专家呼吁协同治理“债闹”黑灰产
  10. @Transactional +自定义注解不生效_SpringBoot之路(三)SpringDataJpa中常用注解的使用...
  11. iphone safari不支持position fixed的解决办法
  12. truffle console用法 总结
  13. WebRTC + JsSIP + freeSWITCH一对一视频聊天
  14. 尾气冒黑烟是什么问题_尾气冒黑烟是坏了?教你通过尾气辨别爱车是否故障!...
  15. 关于微信小程序云开发---实现客服自动回复图片例子
  16. BT源代码学习心得(九):客户端源代码分析(图形界面浅析) -- 转贴自 wolfenstein (NeverSayNever)
  17. ECCV2020视频插帧方法
  18. 向量学习2:图形围绕自己中心旋转、围绕图形外或内任意点为中心旋转
  19. 分布式系统的冰与火与技术栈
  20. 11月09日 考研英语学习任务

热门文章

  1. 他从小把数学书当小说看,凭借一本书将全世界狠狠甩在身后,被誉为中国的牛顿...
  2. 叫板BBC!80后湖南姑娘,花3年首次拍出水下的中国,惊艳了全世界
  3. 这几道挑战极限的烧脑题,烧脑到爽爽爽爽爽!
  4. 5道谷歌面试题:即使是天才也要怀疑自己能力了(附答案)
  5. 值得收藏的Python小技巧:这17个骚操作你都OK吗?
  6. dockerfile文件名_Linux云计算教程全套视频合集:Dockerfile详解(一)
  7. python答题系统的代码_答题辅助python代码实现
  8. 计算机系统的工作方式,某计算机系统输入/输出采用双缓冲工作方式,其工作过程如下图所示,假设磁盘块与缓冲 - 信管网...
  9. Java 重写 多态性_java多态性重写overriding和重载overloading的区别
  10. leetcode435. 无重叠区间