A矩阵
时间限制:1秒 空间限制:131072K

题目描述

给出一个n * m的矩阵。让你从中发现一个最大的正方形。使得这样子的正方形在矩阵中出现了至少两次。输出最大正方形的边长。

输入描述:

第一行两个整数n, m代表矩阵的长和宽;
接下来n行,每行m个字符(小写字母),表示矩阵;

输出描述:

输出一个整数表示满足条件的最大正方形的边长。
示例1

输入

5 10
ljkfghdfas
isdfjksiye
pgljkijlgp
eyisdafdsi
lnpglkfkjl

输出

3

备注:

对于30%的数据,n,m≤100;
对于100%的数据,n,m≤500;

hash好题,推荐去卿学姐讲堂学hash

每一个字符串都hash一下和长度有关的哈希值

#include<cstdio>
#include<algorithm>
#define N 510
typedef unsigned long long LL;
const LL D1=,D2=;
int n,m,i,j,l,r,mid,ans,t;
char a[N][N];
LL pow1[N],pow2[N],h[N][N],tmp,tmp2,has[N*N];
bool check(int x)
{
for(i=; i<=n; i++)
{
for(tmp=,j=; j<x; j++)
tmp=tmp*D1+a[i][j],h[i][j]=;
for(j=x; j<=m; j++)
{ h[i][j]=tmp=tmp*D1-pow1[x]*a[i][j-x]+a[i][j];
}
}
for(t=,i=x; i<=m; i++)
{
for(tmp=,j=; j<x; j++)
tmp=tmp*D2+h[j][i];
for(j=x; j<=n; j++)
{ has[t++]=tmp=tmp*D2-pow2[x]*h[j-x][i]+h[j][i];
}
}
std::sort(has,has+t);
for(i=; i<t; i++)
if(has[i-]==has[i])
return ;
return ;
}
int main()
{
scanf("%d%d",&n,&m);
for(i=; i<=n; i++)
{
scanf("%s",a[i]+);
for(j=; j<=m; j++)
a[i][j]-='a'-;
}
l=,r=n<m?n:m;
for(pow1[]=pow2[]=i=; i<=r; i++)
pow1[i]=pow1[i-]*D1,
pow2[i]=pow2[i-]*D2;
while(l<=r)
if(check(mid=(l+r)>>))
l=(ans=mid)+;
else r=mid-;
return printf("%d",ans),;
}
B树
时间限制:1秒 空间限制:131072K

题目描述

shy有一颗树,树有n个结点。有k种不同颜色的染料给树染色。一个染色方案是合法的,当且仅当对于所有相同颜色的点对(x,y),x到y的路径上的所有点的颜色都要与x和y相同。请统计方案数。

输入描述:

第一行两个整数n,k代表点数和颜色数;
接下来n-1行,每行两个整数x,y表示x与y之间存在一条边;

输出描述:

输出一个整数表示方案数(mod 1e9+7)。
示例1

输入

4 3
1 2
2 3
2 4

输出

39

备注:

对于30%的数据,n≤10, k≤3;
对于100%的数据,n,k≤300。

B这个是个假树啊,只要找到组合数的贡献是k*(k-1)*……*(k-i)就好的

#include <stdio.h>
const int MD=1e9+;
int dp[][];
int main()
{
int n,k;
scanf("%d%d",&n,&k);
dp[][]=;
for(int i=; i<n; i++)
{
dp[i][]=;
for(int j=; j<=i; j++)
dp[i][j]=(dp[i-][j-]+dp[i-][j])%MD;
}
int kk=k,ans=;
for(int i=;i<=k&&i<=n;i++)
{
ans=(ans+dp[n-][i]*1LL*kk%MD)%MD;
kk=1LL*kk*(k-i-)%MD;
}
printf("%d",ans);
return ;
}

牛客网Wannafly模拟赛的更多相关文章

  1. 牛客网_Wannafly模拟赛1

    A.矩阵 题目链接:https://www.nowcoder.com/acm/contest/submit/f8363c912a4c48a28b80f47e7102b6b8?ACMContestId= ...

  2. 10.6-10.7 牛客网NOIP模拟赛题解

    留个坑... upd:估计这个坑补不了了 如果还补不了就删了吧

  3. 牛客网多校赛第9场 E-Music Game【概率期望】【逆元】

    链接:https://www.nowcoder.com/acm/contest/147/E 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524 ...

  4. 牛客网Wannafly挑战赛25A 因子(数论 素因子分解)

    链接:https://www.nowcoder.com/acm/contest/197/A来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...

  5. 题解——牛客网Wannafly挑战赛23 B-游戏 (SG函数)

    前言 比赛的时候没学过SG函数的蒟蒻以为是道结论题,但是不是QwQ 和dummyummy巨佬一起推了快三个小时的规律 最后去问了真正的巨佬__stdcall __stdcall面带微笑的告诉我们,这是 ...

  6. 牛客网-湘潭大学校赛重现H题 (线段树 染色问题)

    链接:https://www.nowcoder.com/acm/contest/105/H来源:牛客网 n个桶按顺序排列,我们用1~n给桶标号.有两种操作: 1 l r c 区间[l,r]中的每个桶中 ...

  7. 牛客网多校赛第九场A-circulant matrix【数论】

    链接:https://www.nowcoder.com/acm/contest/147/A 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524 ...

  8. 牛客网多校赛第七场J--Sudoku Subrectangle

    链接:https://www.nowcoder.com/acm/contest/145/J 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言6553 ...

  9. 牛客网多校赛第七场--C Bit Compression【位运算】【暴力】

    链接:https://www.nowcoder.com/acm/contest/145/C 来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 262144K,其他语言524 ...

随机推荐

  1. 极简的css浮动窗口

    <!doctype html> <html> <head> <meta charset="utf-8"> <meta http ...

  2. SQLServer查询语句收集(非常实用)

    =============================    SQLServer语句收集1  =========================== 1.数据操作  Select      --从 ...

  3. 三行命令搞定查询Python安装目录

    想为Python添加一个库文件到默认目录,却忘记了Python安装目录. 其实,只要用下面三行命令,就可以轻松得到Python安装路径了. 进入Python >>>import sy ...

  4. ajax传给springMVC数据编码集问题

    前台 ajax: $.ajax("${pageContext.request.contextPath}/hello",// 发送请求的URL字符串. { dataType : &q ...

  5. mysql 存在更新,不存在插入

    String sql = "insert into wb_result " + "values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ...

  6. getpwuid和getpwnam的用法

    如果知道一个用户的用户ID或者登录名,可以通过getpwuid或getpwnam函数获得用户的登录信息.函数原型为:         #include <pwd.h> #include & ...

  7. PAT (Basic Level) Practise (中文)-1033. 旧键盘打字(20)

    PAT (Basic Level) Practise (中文)-1033. 旧键盘打字(20)  http://www.patest.cn/contests/pat-b-practise/1033 旧 ...

  8. postgresql+pgadmin3安装

    检查5432端口是否被占用,如果占用则释放 1.运行postgresql-9.3.1.xxx.run 安装好postgresql和pgadmin III   2.创建数据库目录和日志目录   [roo ...

  9. Vue构建项目

    构建Vue项目 按照官网教程安装 //先安装脚手架 cnpm i -g vue-cli //查看项目目标列表: webpack browserify pwa 等项目模板 vue list //使用we ...

  10. 1008: ASCII码

    题目描述 相信大家一定都知道大名鼎鼎的ASCII码,这次给你的任务是输入数字(表示ASCII码),输出相对应的字符信息. 输入 第一行为一个整数T(1<=T<=1000).接下来包括T个正 ...