洛谷九月月赛II



题解:模拟
一旦不匹配就要break
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std; int l,q; int ans[],xi[],yi[]; string s[]; int main()
{
scanf("%d%d",&l,&q);
for(int i=;i<=l;i++) cin>>s[i];
for(int i=;i<=q;i++) cin>>xi[i]>>yi[i];
for(int i=;i<=q;i++)
{
int s1=,s2=,x=xi[i],y=yi[i]-;
for(int j=;j<=(l/)+;j++)
{
if(y-j>=&&y+j<l&&s[x][y-j]==s[x][y+j]) s1+=;
else break;
}
for(int j=;j<=(l/)+;j++)
{
if(x-j>=&&x+j<=l&&s[x-j][y]==s[x+j][y]) s2+=;
else break;
}
ans[i]=max(s1,s2);
}
for(int i=;i<=q;i++) printf("%d\n",ans[i]+);
return ;
}



题解:
30分:O(n^2)判断两根杆子端点是否重合
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define N 200005
using namespace std; int n,m,ans; int h[N]; int main()
{
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++) scanf("%d",&h[i]);
for(int i=;i<=n;i++)
{
for(int j=i+;j<=n;j++)
{
int d=j-i;
if((h[i]+d==h[j])||(h[j]+d==h[i])||(h[i]+h[j]==d))
ans++;
}
}
printf("%d\n",ans);
return ;
}
100分:记录每根杆子向左或向右倒下去的点
sort一下看有几根杆子倒在同一个点。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define N 200005
#define LL long long
using namespace std; int n,m,t; LL g,ans,p[N],h[N]; int main()
{
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++)
{
scanf("%lld",&h[i]);
p[++t]=i-h[i];
p[++t]=i+h[i];
}
sort(p+,p+t+);p[]=-;
for(int i=;i<=t+;i++)
{ if(p[i]!=p[i-]) ans=ans+g*(g-)/,g=;
else g++;
}
cout<<ans<<endl;
return ;
}
后面的题国庆或许会补....
洛谷九月月赛II的更多相关文章
- 【洛谷九月月赛T1】签到题(bsgs)(快速乘)
说好的签到题呢qwq....怎么我签到题都不会啊qwq 之后看了bsgs才发现貌似不是那么那么难fake!!什么东西... 先贴上部分分做法(也就是枚举1的个数,然后每一步都进行取模(这和最后取模结果 ...
- 洛谷九月月赛T1 思考
很迷的一道题目,刚开始直接枚举n个1,然后去mod m ,爆0,后来发现一个神奇性质:找到递推公式An=An-1*10+1,枚举n,不断mod m,每递推一次就1的个数加一.居然可行! 听说余数具有可 ...
- 洛谷八月月赛 II T2 题解
Content 现有 \(T\) 次询问. 每次询问给定一个长度为 \(n\) 的 01 串,记为 \(A\).回答应是一个字符串 \(B\),满足: \(B\) 是长度为 \(m\) 的 01 串. ...
- 洛谷八月月赛 II T1 题解
Content 在大小为 \(n\) 的数字三角形中,第 \(i\) 行包含有 \(i\) 个数字,数字从上到下,从左到右依次排列为 \(1,2,3,\dots\). 设第 \(i\) 行第 \(j\ ...
- 洛谷五月月赛【LGR-047】划水记
虽然月赛有些爆炸,但我永远资瓷洛谷! 因为去接水,所以迟到了十几分钟,然后洛谷首页就打不开了-- 通过洛谷题库间接打开了比赛,看了看\(TA\),WTF?博弈论?再仔细读了读题,嗯,判断奇偶性,不过要 ...
- 洛谷八月月赛Round1凄惨记
个人背景: 上午9:30放学,然后因为学校举办读书工程跟同学去书城选书,中午回来开始打比赛,下午又回老家,中间抽出一点时间调代码,回家已经8:50了 也许是7月月赛时“连蒙带骗”AK的太幸运然而因同学 ...
- AC日记——小A和uim之大逃离 II 洛谷七月月赛
小A和uim之大逃离 II 思路: spfa: 代码: #include <bits/stdc++.h> using namespace std; #define INF 0x3f3f3f ...
- 洛谷——P1722 矩阵 II
P1722 矩阵 II 题目背景 usqwedf 改编系列题. 题目描述 如果你在百忙之中抽空看题,请自动跳到第六行. 众所周知,在中国古代算筹中,红为正,黑为负…… 给定一个1*(2n)的矩阵(us ...
- 洛谷P1722 矩阵 II(Catalan数)
P1722 矩阵 II 题目背景 usqwedf 改编系列题. 题目描述 如果你在百忙之中抽空看题,请自动跳到第六行. 众所周知,在中国古代算筹中,红为正,黑为负…… 给定一个1*(2n)的矩阵(us ...
随机推荐
- java之简单工厂
1.使用步骤 创建抽象/接口产品类,定义具体产品的公共接口方法:(产品接口类) 创建具体产品类,是继承抽象产品类的:(产品接口实现类) 创建工厂类,通过创建静态方法根据传入不同参数从而创建不同具体产品 ...
- c++第十九天
p109~p110: C风格字符串 特点: 1.不方便,不安全,尽量不使用. 2.必须以 '\0'结束.(只有这样才能使用C风格字符串函数) 3.一般利用指针操作这些字符. 4.可以用字符串字面值来初 ...
- sqlite中的时间
插入时间的sql语句 ','-61') 时间格式'2014-11-17T19:37:32' 年月日和时分秒之间多了一个字母T,保存到数据库的时候,会自动给时间加8个小时. 保存的结果为2014-11- ...
- lucas 快速求大数组合数
根据公式就是 对每次C(n,m) = C(n%p,m%p) * C(n/p,m/p); ll pow(ll x,ll n) { ll res = ; x%=mod; while (n) { ) re ...
- install_github安装错误解决方法
install.packages('devtools')library(devtools)install_github('hdng/clonevol') Installation failed: Ti ...
- install ros-indigo-tf2
sudo apt-get install ros-indigo-tf2
- python 将一个列表乱序
import random nums = [, , , , , , ] random.shuffle(nums) print(nums)
- redis的使用及方法
一.redis (1).redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset ...
- 网络TCP建立连接为什么需要三次握手而结束要四次
忽然顿悟了,不管三次握手,还是四次握手,这是保证信息来回两个链路可达(也就是信息能从A到B,也能从B到A)的最低要求.-2018-9-17-晚上九点 举个打电话的例子: A : 你好我是A,你听得到我 ...
- JSP Cookies 处理
JSP Cookies 处理 Cookies是存储在客户机的文本文件,它们保存了大量轨迹信息.在servlet技术基础上,JSP显然能够提供对HTTP cookies的支持. 通常有三个步骤来识别回头 ...