AtCoder Regular Contest 071
C - 怪文書 / Dubious Document
题意:定义一种无序的子序列:在原串中随意地取字符并随意打乱顺序。求多个字符串的最长公共无序子序列。
#include<cstdio>
#include<algorithm>
using namespace std; int n,m,s[],q[];
char c[];
int main(){
scanf("%d",&n);
for (int i=;i<;i++) s[i]=;
while (n--){
scanf("%s",c);
for (int i=;i<;i++) q[i]=;
for (int i=;c[i];i++) q[c[i]-'a']++;
for (int i=;i<;i++) s[i]=min(s[i],q[i]);
}
for (int i=;i<;i++)
while (s[i]--) putchar('a'+i);
}
D - 井井井 / ###
题意:求平行坐标轴的多条直线围成的所有矩形的面积和。
#include<cstdio>
#include<algorithm>
#define MN 200001
using namespace std; const int MOD=1e9+;
int n,m,a[MN],b[MN],A=,B=;
int main(){
scanf("%d%d",&n,&m);
for (int i=;i<=n;i++) scanf("%d",&a[i]);sort(a+,a++n);
for (int i=;i<=m;i++) scanf("%d",&b[i]);sort(b+,b++m);
for (int i=;i<n;i++) A=(1LL*(a[i+]-a[i])*i%MOD*(n-i)+A)%MOD;
for (int i=;i<m;i++) B=(1LL*(b[i+]-b[i])*i%MOD*(m-i)+B)%MOD;
printf("%lld\n",1ll*A*B%MOD);
}
E - TrBBnsformBBtion
定义几种变换:A->BB,B->AA,AAA->空,BBB->空。先给两个字符串,每次询问它们的两个子串是否能相互转换。
题解:将A当成1,B当成2,一个字符串的值为所有字符的和,那么只需要两个字符串的值模3意义下同于即可相互转换。
#include<cstdio>
#include<algorithm>
#define MN 200001
using namespace std; const int MOD=1e9+;
int qa[MN],qb[MN],n,x,y,X,Y;
char a[MN],b[MN];
int main(){
scanf("%s%s",a+,b+);
for (int i=;a[i];i++) qa[i]=qa[i-]+a[i]-'A'+;
for (int i=;b[i];i++) qb[i]=qb[i-]+b[i]-'A'+;
scanf("%d",&n);
while(n--){
scanf("%d%d%d%d",&x,&y,&X,&Y);
puts((qa[y]-qa[x-])%==(qb[Y]-qb[X-])%?"YES":"NO");
}
}
F - Infinite Sequence
求满足下列条件的无穷序列数量:
数字在1到n之间。
an与后面所有项相等。
ai后面的ai个项相等。
题解:dp即可。
#include<cstdio>
#include<algorithm>
#define MN 1000001
using namespace std; const int MOD=1e9+;
int n,f[MN],m;
inline void M(int &x){while(x>=MOD)x-=MOD;}
int main(){
int i,j;
scanf("%d",&n);f[n]=n;m=n-;
for (i=n-;i;i--) f[i]=1LL*(n-)*(n-)%MOD,M(f[i]+=f[i+]),M(f[i]+=m),M(m+=(i+>n?:f[i+])-);
printf("%d\n",f[]);
}
这几乎是我打过码量最少的比赛。
AtCoder Regular Contest 071的更多相关文章
- AtCoder Regular Contest 071 D - 井井井 / ###
题目:http://arc071.contest.atcoder.jp/tasks/arc071_b 题意: 有一个二维的平面,给你xn根竖线和ym根横线,问这些线围成的长方形(正方形)的面积和(要求 ...
- [Atcoder Regular Contest 071 F & JZOJ5450]Neutral
题目大意 一个无限长的序列\(a\), 需要满足 1.数列中的每一个数在\(1\)到\(n\)之间. 2.对于\(i>=n, j>=n\), \(a_i=a_j\). 3.对于\(i< ...
- AtCoder Regular Contest 061
AtCoder Regular Contest 061 C.Many Formulas 题意 给长度不超过\(10\)且由\(0\)到\(9\)数字组成的串S. 可以在两数字间放\(+\)号. 求所有 ...
- AtCoder Regular Contest 094 (ARC094) CDE题解
原文链接http://www.cnblogs.com/zhouzhendong/p/8735114.html $AtCoder\ Regular\ Contest\ 094(ARC094)\ CDE$ ...
- AtCoder Regular Contest 092
AtCoder Regular Contest 092 C - 2D Plane 2N Points 题意: 二维平面上给了\(2N\)个点,其中\(N\)个是\(A\)类点,\(N\)个是\(B\) ...
- AtCoder Regular Contest 093
AtCoder Regular Contest 093 C - Traveling Plan 题意: 给定n个点,求出删去i号点时,按顺序从起点到一号点走到n号点最后回到起点所走的路程是多少. \(n ...
- AtCoder Regular Contest 094
AtCoder Regular Contest 094 C - Same Integers 题意: 给定\(a,b,c\)三个数,可以进行两个操作:1.把一个数+2:2.把任意两个数+1.求最少需要几 ...
- AtCoder Regular Contest 095
AtCoder Regular Contest 095 C - Many Medians 题意: 给出n个数,求出去掉第i个数之后所有数的中位数,保证n是偶数. \(n\le 200000\) 分析: ...
- AtCoder Regular Contest 102
AtCoder Regular Contest 102 C - Triangular Relationship 题意: 给出n,k求有多少个不大于n的三元组,使其中两两数字的和都是k的倍数,数字可以重 ...
随机推荐
- Ubuntu系统怎么切换多用户命令界面
ctrl+alt+F2~F6 切换窗口 返回桌面 Ctrl+Alt+F7
- HTTP之URL分解
HTTP使用统一资源标识符(Uniform Resource Identifiers, URI)来传输数据和建立连接.URL是一种特殊类型的URI,包含了用于查找某个资源的足够的信息 URL,全称是U ...
- Python学习日记:day4
列表 li=['alex',[1,2,3] ,'wusir','egon','女神','taibai']#列表 l1 = li[0] print(l1)#alex l2 = li[1] print ( ...
- 78、excel的读写操作
本篇主要是用python来自动生成excel数据文件也就是简单的excel读写操作.python读写excel文件主要是第三方模块库xlrd.xlwt. 本篇导航: 写excel 读excel 一.写 ...
- 自己动手写把”锁”之---JMM和volatile
一.JAVA内存模型 关于Java内存模型的文章,网上真的数不胜数.在这里我就不打算说的很详细.很严谨了.只力求大家能更好的理解和运用,为后边的技术点做铺垫. 内存模型并不是Java独有的概念,而 ...
- [知了堂学习笔记]_用JS制作《飞机大作战》游戏_第1讲(素材查找和界面框架搭建)
一.查找素材: 二.分析游戏界面框架: 登录界面.游戏界面.暂停游戏界面.玩家死亡后弹出界面:并对应的界面包含什么元素: 三.分别搭建以上四个界面: 1.登录界面与游戏界面框架(隐藏游戏界面,四个界面 ...
- java操作时间,将当前时间减一年,减一天,减一个月
在Java中操作时间的时候,常常遇到求一段时间内的某些值,或者计算一段时间之间的天数 Date date = new Date();//获取当前时间 Calendar calendar = Calen ...
- Netty-Websocket 根据URL路由,分发机制的实现
最近在做netty整合websocket,发现网上很多项目都是最简单的demo,单例的一个项目. 然而公司的项目需要接受几个不同功能的ws协议消息,因此最好是用URL来区分,让页面上采用不同的链接方式 ...
- MySQL 权限与用户表
1.授权时创建用户 grant all privileges on *.* to zhengwenqiang@localhost identified by 'zhengwenqiang'; 2.收回 ...
- 对 Java 集合的巧妙利用
我们直接切入正题.首先大致介绍一下 Java 三大集合的一些特征: ①.ArrayList:底层采用数组结构,里面添加的元素有序可以重复. ②.HashSet:底层采用哈希表算法,里面添加的元素无序不 ...