ABCD

签到(A、B、C过水已隐藏)

#include<bits/stdc++.h>
using namespace std;
const int N=;
int n,m,ans,f1[N][N],f2[N][N],f3[N][N],f4[N][N];
char mp[N][N];
int main()
{
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++)scanf("%s",mp[i]+);
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
if(mp[i][j]=='.')f1[i][j]=f1[i-][j]+,f2[i][j]=f2[i][j-]+;
for(int i=n;i;i--)
for(int j=m;j;j--)
if(mp[i][j]=='.')f3[i][j]=f3[i+][j]+,f4[i][j]=f4[i][j+]+;
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
if(mp[i][j]=='.')ans=max(ans,f1[i][j]+f2[i][j]+f3[i][j]+f4[i][j]-);
printf("%d\n",ans);
}

E

发现x^y=x+y时,x,y没有同时为1的位。于是数位DP,f[i][0/1]表示到了第i位是否达到上限,发现该位取1有2种方案,取0有1种,大力O(n)DP即可。

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+,mod=1e9+;
int n,ans,f[N][];
char s[N];
int main()
{
scanf("%s",s+);
n=strlen(s+);
f[][]=;
for(int i=;i<=n;i++)
if(s[i]=='')f[i][]=(3ll*f[i-][]+f[i-][])%mod,f[i][]=2ll*f[i-][]%mod;
else f[i][]=3ll*f[i-][]%mod,f[i][]=f[i-][];
ans=(f[n][]+f[n][])%mod;
printf("%d",ans);
}

F

设计算到x时,答案是ans,于是计算x后,ans=(ans*10i+x)%m,其中i为x的位数,然后发现这个可以矩阵转移,对于位数相同的数字,转移的矩阵是相同的,于是分位数转移至多18次即可,复杂度O(27logBLlgBL)。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll L,st,ed,b,pw[];
int m,ans;
struct mat{
int a[][];
mat(){memset(a,,sizeof a);}
void init(int i)
{
memset(a,,sizeof a);
a[][]=pw[i]%m,a[][]=a[][]=a[][]=a[][]=;
}
}A,ret;
mat operator*(mat a,mat b)
{
mat c;
for(int i=;i<;i++)
for(int j=;j<;j++)
for(int k=;k<;k++)
c.a[i][j]=(c.a[i][j]+1ll*a.a[i][k]*b.a[k][j])%m;
return c;
}
int solve(ll L,ll R,int id)
{
ll n=(R-L)/b+;
for(int i=;i<;i++)for(int j=;j<;j++)ret.a[i][j]=i==j;
A.init(id);
while(n)
{
if(n&)ret=ret*A;
A=A*A,n>>=;
}
ans=(1ll*ans*ret.a[][]+L%m*ret.a[][]+b%m*ret.a[][])%m;
}
int main()
{
pw[]=;for(int i=;i<=;i++)pw[i]=pw[i-]*;
cin>>L>>st>>b>>m;
ed=st+b*(L-);
for(int i=;i<=;i++)
if(st<pw[i])
{
ll R=(pw[i]--st)/b*b+st;
if(R>ed)R=ed;
solve(st,R,i);
if(R==ed)break;
st=R+b;
}
cout<<ans<<endl;
}

result:rank5 rating+=65 now_rating=2020,ABC为什么performance上限要设2400?就涨了这么点……不过好在上黄了。

AtCoder Beginner Contest 129的更多相关文章

  1. AtCoder Beginner Contest 129 解题报告

    传送门 写了四个题就跑去打球了.第五题应该能肝出来的. A - Airplane #include <bits/stdc++.h> using namespace std; inline ...

  2. AtCoder Beginner Contest 100 2018/06/16

    A - Happy Birthday! Time limit : 2sec / Memory limit : 1000MB Score: 100 points Problem Statement E8 ...

  3. AtCoder Beginner Contest 052

    没看到Beginner,然后就做啊做,发现A,B太简单了...然后想想做完算了..没想到C卡了一下,然后还是做出来了.D的话瞎想了一下,然后感觉也没问题.假装all kill.2333 AtCoder ...

  4. AtCoder Beginner Contest 053 ABCD题

    A - ABC/ARC Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Smeke has ...

  5. AtCoder Beginner Contest 136

    AtCoder Beginner Contest 136 题目链接 A - +-x 直接取\(max\)即可. Code #include <bits/stdc++.h> using na ...

  6. AtCoder Beginner Contest 137 F

    AtCoder Beginner Contest 137 F 数论鬼题(虽然不算特别数论) 希望你在浏览这篇题解前已经知道了费马小定理 利用用费马小定理构造函数\(g(x)=(x-i)^{P-1}\) ...

  7. AtCoder Beginner Contest 076

    A - Rating Goal Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Takaha ...

  8. AtCoder Beginner Contest 079 D - Wall【Warshall Floyd algorithm】

    AtCoder Beginner Contest 079 D - Wall Warshall Floyd 最短路....先枚举 k #include<iostream> #include& ...

  9. AtCoder Beginner Contest 064 D - Insertion

    AtCoder Beginner Contest 064 D - Insertion Problem Statement You are given a string S of length N co ...

随机推荐

  1. Bean XML 配置(1)- 通过XML配置加载Bean

    系列教程 Spring 框架介绍 Spring 框架模块 Spring开发环境搭建(Eclipse) 创建一个简单的Spring应用 Spring 控制反转容器(Inversion of Contro ...

  2. P4147 玉蟾宫(悬线法求最大子矩阵)

    P4147 玉蟾宫 悬线法 ,\(l_{i,j},r_{i,j},up_{i,j}\) 分别表示 \((i,j)\) 这个点向左,右,上能到达的远点.然后面积就很好办了.具体实现见代码. 然而,还有更 ...

  3. 对 TD tree 的使用体验

    经过这几天对学长们的作品的应用,感触颇多,忍不住写写随笔. 先谈一下,最初的感受吧,那天下午观看,体验学长学姐们的作品时,感觉他们太厉害了,只比我们多学一年,就已经可以做出手机 app ,和 网页了. ...

  4. Mybatis实体类的映射文件中select,insert语句使用

    id:在命名空间中唯一的标识符,可以被用来引用这条语句. parameterType:设置传入这条语句的参数的数据类型,如int,String...... resultType:设置从这条语句中返回数 ...

  5. Alpha版(内部测试版发布)

    使用说明: 使用环境:android 5.0以上 使用流程: 1.注册与登陆 可以通过游客和用户两个模式登陆 用户模式:进入后会有模拟位置图,每一环代表不同的距离 底部菜单栏表示不同的功能,消息栏可以 ...

  6. 路飞学城—Python爬虫实战密训班 第三章

    路飞学城—Python爬虫实战密训班 第三章 一.scrapy-redis插件实现简单分布式爬虫 scrapy-redis插件用于将scrapy和redis结合实现简单分布式爬虫: - 定义调度器 - ...

  7. 1, vm: PropTypes.instanceOf(VM).isRequired

    子模块的文件引入父工程对象时,出现红色warning,提示传入的对象类型不是所要求的类型. 思路是父工程引用的JS包和子模块使用的包不是同一个包,解决办法是父工程和子工程都使用同一个包. resolv ...

  8. redis主从复制原理与优化-高可用

    一 什么是主从复制 机器故障:容量瓶颈:QPS瓶颈 一主一从,一主多从 做读写分离 做数据副本 扩展数据性能 一个maskter可以有多个slave 一个slave只能有一个master 数据流向是单 ...

  9. [安洵杯 2019]easy_web

    0x00 知识点 md5强类型的绕过 方法比较固定: POST: a=%4d%c9%68%ff%0e%e3%5c%20%95%72%d4%77%7b%72%15%87%d3%6f%a7%b2%1b%d ...

  10. js动态删除行错误

    Uncaught TypeError: Failed to execute 'removeChild' on 'Node': parameter 1 is not of type 'Node'. js ...