A - 【The__Flash】的矩阵

给你一个m×n的整数矩阵,在上面找一个x×y的子矩阵,使子矩阵中所有元素的和最大。

Input输入数据的第一行为一个正整数T,表示有T组测试数据。每一组测试数据的第一行为四个正整数m,n,x,y(0<m,n<1000 AND 0<x<=m AND 0<y<=n),表示给定的矩形有m行n列。接下来这个矩阵,有m行,每行有n个不大于1000的正整数。Output对于每组数据,输出一个整数,表示子矩阵的最大和。

Sample Input

1
4 5 2 2
3 361 649 676 588
992 762 156 993 169
662 34 638 89 543
525 165 254 809 280 Sample Output
2474

思路:

二维前缀和

 #include <iostream>
#include <algorithm>
#include <cstdio>
int t,m,n,x,y,a[][],dp[][];
using namespace std;
int main()
{ cin>>t;
while(t--)
{
cin>>m>>n>>x>>y;
for(int i=;i<=m;i++)
for(int j=;j<=n;j++)
{
cin>>a[i][j];
}
for(int i=;i<=m;i++)
for(int j=;j<=n;j++)
{
dp[i][j]=a[i][j]+dp[i][j-]+dp[i-][j]-dp[i-][j-];
}
long long ans=;
for(int i=;i<=m-x;i++)
for(int j=;j<=n;j++)
{
long long ii=i+x-,jj=j+y-;
long long t=dp[ii][jj]-dp[i-][jj]-dp[ii][j-]+dp[i-][j-];
ans=max(ans,t);
}
cout<<ans<<endl;
}
}

G - 【The__Flash】的水题

You are given two strings of equal length ss and tt consisting of lowercase Latin letters. You may perform any number (possibly, zero) operations on these strings.

During each operation you choose two adjacent characters in any string and assign the value of the first character to the value of the second or vice versa.

For example, if ss is "acbc" you can get the following strings in one operation:

  • "aabc" (if you perform s2=s1s2=s1 );
  • "ccbc" (if you perform s1=s2s1=s2 );
  • "accc" (if you perform s3=s2s3=s2 or s3=s4s3=s4 );
  • "abbc" (if you perform s2=s3s2=s3 );
  • "acbb" (if you perform s4=s3s4=s3 );

Note that you can also apply this operation to the string tt .

Please determine whether it is possible to transform ss into tt , applying the operation above any number of times.

Note that you have to answer qq independent queries.

Input

The first line contains one integer qq (1≤q≤1001≤q≤100 ) — the number of queries. Each query is represented by two consecutive lines.

The first line of each query contains the string ss (1≤|s|≤1001≤|s|≤100 ) consisting of lowercase Latin letters.

The second line of each query contains the string tt (1≤|t|≤1001≤|t|≤100 , |t|=|s||t|=|s| ) consisting of lowercase Latin letters.

Output

For each query, print "YES" if it is possible to make ss equal to tt , and "NO" otherwise.

You may print every letter in any case you want (so, for example, the strings "yEs", "yes", "Yes", and "YES" will all be recognized as positive answer).

Example

Input
3
xabb
aabx
technocup
technocup
a
z
Output
YES
YES
NO

Note

In the first query, you can perform two operations s1=s2s1=s2 (after it ss turns into "aabb") and t4=t3t4=t3 (after it tt turns into "aabb").

In the second query, the strings are equal initially, so the answer is "YES".

In the third query, you can not make strings ss and tt equal. Therefore, the answer is "NO".

 #include <iostream>
#include <string>
using namespace std;
int main()
{
int n;
string s,t;
cin>>n;
while(n--)
{
cin>>s>>t;
int ls=s.size();
int w=;
for(int i=;i<ls;i++)
{
for(int j=;j<ls;j++)
if(s[i]==t[j])
{
w=;
break;
}
}
if(w==)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
} }

J - 【The__Flash】的球球

N个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数a b(a <= b),lele便为骑上他的“小飞鸽"牌电动车从气球a开始到气球b依次给每个气球涂一次颜色。但是N次以后lele已经忘记了第I个气球已经涂过几次颜色了,你能帮他算出每个气球被涂过几次颜色吗?

Input每个测试实例第一行为一个整数N,(N <= 100000).接下来的N行,每行包括2个整数a b(1 <= a <= b <= N)。
当N = 0,输入结束。Output每个测试实例输出一行,包括N个整数,第I个数代表第I个气球总共被涂色的次数。Sample Input

3
1 1
2 2
3 3
3
1 1
1 2
1 3
0

Sample Output

1 1 1
3 2 1 一维前缀和
 #include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int n,a,b;
while(scanf("%d",&n)!=EOF)
{
if(n==) return ;
int m[]={};
int t=n;int s=;
while(n--)
{
cin>>a>>b;
m[a]++;m[b+]--; }
for(int i=;i<=t;i++)
{
s+=m[i];
cout<<s;
printf("%c",i==t?'\n':' ');
}
} }

SDNU_ACM_ICPC_2020_Winter_Practice_2nd的更多相关文章

随机推荐

  1. centos7解压压缩zip文件

    一.安装支持ZIP的工具 yum install -y unzip zip 二.解压zip文件 unzip 文件名.zip 二. 压缩一个zip文件 zip 文件名.zip 文件夹名称或文件名称

  2. Apache 安装概要

    1.apache下载参照百度 bin文件夹下命令行:  httpd -k install 2.安装完成后排错记录 服务无法启动,到bin目录下运行  httpd.exe  查看输出,然后百度一下输出即 ...

  3. http接口性能测试工具

    一. http_load 程序非常小,解压后也不到100K.http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载. 但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一 ...

  4. 剪切文件或目录命令 - mv

    ①.命令名称:mv ②.英文原意:move ③.命令所在路径:/bin/mv ④.执行权限:所有用户 ⑤.功能描述:剪切文件.改名 ⑥.语法: mv[原文件或目录][目标目录] 例子:在 tmp目录下 ...

  5. python3练习100题——018

    原题链接:http://www.runoob.com/python/python-exercise-example18.html 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个 ...

  6. 移动 APP 端与服务器端用户身份认证的安全方案

    最近要做一个项目是java开发后端服务,然后移动APP调用.由于之前没有接触过这块,所以在网上搜索相关的方案.然后搜到下面的一些方案做一些参考. 原文:移动 APP 端与服务器端用户身份认证的安全方案 ...

  7. MySQL转译

    /* 案例3:查询员工名中第二个字符为 _ 的员工名 */ SELECT last_name, salary FROM employees WHERE last_name LIKE '_$_%' ES ...

  8. js中float失精

    https://juejin.im/post/5aa1395c6fb9a028df223516 把小数转为整数,然后计算 https://www.html.cn/archives/7340

  9. SpringBean的生命周期以及循环依赖过程

    上面就是springBean的大致生命周期. Bean的创建过程 创建Bean之前会调用Bean工厂的后置处理器,可以获取到BeanDefinition Bean的初始化过程 初始化之前会调用前置处理 ...

  10. 图的最小生成树prim算法模板

    用prim算法构建最小生成树适合顶点数据较少而边较多的图(稠密图) prim算法生成连通图的最小生成树模板伪代码: G为图,一般为全局变量,数组d为顶点与集合s的最短距离 Prim(G, d[]){ ...