浴谷八连测R4题解
一开始出了点bug能看见排行榜,于是我看见我半个小时就A掉了前两题,信心场QAQ
T1字符串题就不说了qwq
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cstdio>
#include<algorithm>
#define ll long long
using namespace std;
const int maxn=,inf=1e9;
int n,m,x,y,z,tot;
char c;
int main()
{
int daxie=;
while((c=getchar())!=EOF)
{
if(('a'<=c&&c<='z')||('A'<=c&&c<='Z'))
{
if(daxie)
{
if('a'<=c&&c<='z')putchar(c-'a'+'A');
else putchar(c);
daxie=;
}
else
{
if('a'<=c&&c<='z')putchar(c);
else putchar(c-'A'+'a');
}
}
else if(c=='.')daxie=,putchar('.');
else putchar(' ');
}
return ;
}
T2直接贪心不断找出最大的数和他的下一个数,用双向链表维护一下前面和后面的数就好了
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cstdio>
#include<algorithm>
#include<queue>
#define ll long long
using namespace std;
const int maxn=,inf=1e9;
struct poi{int pos,w;};
priority_queue<poi>q;
bool operator<(poi a,poi b){return a.w<b.w;}
int n,m,x,y,z,tot;
int nxt[maxn],pre[maxn],a[maxn];
bool v[maxn];
void read(int &k)
{
int f=;k=;char c=getchar();
while(c<''||c>'')c=='-'&&(f=-),c=getchar();
while(c<=''&&c>='')k=k*+c-'',c=getchar();
k*=f;
}
void del(int x)
{
nxt[pre[x]]=nxt[nxt[x]];
pre[nxt[nxt[x]]]=pre[x];
pre[x]=nxt[x]=pre[nxt[x]]=nxt[nxt[x]]=;
}
int main()
{
read(n);
for(int i=;i<=n;i++)read(a[i]),pre[i]=i-,nxt[i]=i+,q.push((poi){i,a[i]});
for(int i=;i<=n>>;i++)
{
poi t=q.top();q.pop();
while(v[t.pos]||nxt[t.pos]>n)t=q.top(),q.pop();
printf("%d %d ",t.w,a[nxt[t.pos]]);
v[nxt[t.pos]]=;del(t.pos);
}
return ;
}
T3可以发现每行每列最多加两次,因为每隔2个数就有一个稳数...于是3^n枚举列的状态,算出每一行不加,加一个,加两个哪个优,每一行互不影响,于是每一行贪心地选一个最大的就好了
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cstdio>
#include<algorithm>
#define ll long long
using namespace std;
const int maxn=,inf=1e9;
int n,m,x,y,z,ans;
int mp[maxn][maxn],mi[maxn];
void read(int &k)
{
int f=;k=;char c=getchar();
while(c<''||c>'')c=='-'&&(f=-),c=getchar();
while(c<=''&&c>='')k=k*+c-'',c=getchar();
k*=f;
}
int main()
{
read(n);read(m);
for(int i=;i<=n;i++)for(int j=;j<=m;j++)read(mp[i][j]);
mi[]=;for(int i=;i<=max(n,m);i++)mi[i]=mi[i-]*;
for(int s=;s<=mi[m];s++)
{
int now=;
for(int i=;i<=n;i++)
{
int tmp1,tmp2,tmp3;tmp1=tmp2=tmp3=;
for(int j=;j<=m;j++)
if(s/mi[j-]%==)
{
tmp1+=(mp[i][j]==||mp[i][j]==||mp[i][j]==||mp[i][j]==);
tmp2+=(mp[i][j]==||mp[i][j]==||mp[i][j]==||mp[i][j]==);
tmp3+=(mp[i][j]==||mp[i][j]==||mp[i][j]==||mp[i][j]==);
}
else if(s/mi[j-]%==)
{
tmp1+=(mp[i][j]==||mp[i][j]==||mp[i][j]==||mp[i][j]==);
tmp2+=(mp[i][j]==||mp[i][j]==||mp[i][j]==||mp[i][j]==);
tmp3+=(mp[i][j]==||mp[i][j]==||mp[i][j]==||mp[i][j]==);
}
else if(s/mi[j-]%==)
{
tmp1+=(mp[i][j]==||mp[i][j]==||mp[i][j]==||mp[i][j]==);
tmp2+=(mp[i][j]==||mp[i][j]==||mp[i][j]==||mp[i][j]==);
tmp3+=(mp[i][j]==-||mp[i][j]==||mp[i][j]==||mp[i][j]==);
}
now+=max(tmp1,max(tmp2,tmp3));
}
ans=max(ans,now);
}
printf("%d\n",ans);
return ;
}
浴谷八连测R4题解的更多相关文章
- 洛谷10月月赛R2·浴谷八连测R3题解
早上打一半就回家了... T1傻逼题不说了...而且我的写法比题解要傻逼很多T T T2可以发现,我们强制最大值所在的块是以左上为边界的倒三角,然后旋转4次就可以遍历所有的情况.所以二分极差,把最大值 ...
- 浴谷八连测R6题解(收获颇丰.jpg)
这场的题都让我收获颇丰啊QWQ 感谢van♂老师 T1 喵喵喵!当时以为经典题只能那么做, 思维定势了... 因为DP本质是通过一些条件和答案互相递推的一个过程, 实际上就是把条件和答案分配在DP的状 ...
- 洛谷八连测R5题解
woc居然忘了早上有八连测T T 还好明早还有一场...今天的题除了T3都挺NOIP的... T1只需要按横坐标第一关键字,纵坐标第二关键字排序一个一个取就好了... #include<iost ...
- 洛谷八连测R4
1.逃避 https://www.luogu.org/problemnew/show/T14561 注意: 1.输入时需要用EOF判断,否则会TLE. 2.用flag判断字符是不是每一句首字母. 3. ...
- 洛谷八连测R6
本次测试暴0!!!还有两周就要考试啦!!! 看题目时觉得难度不大,就直接写正解,没有参照数据,导致测出的结果和预想有较大差距. 不过得到经验,不管题目难易(除了D1T1)都要参照数据一部分一部分写,那 ...
- 洛谷P2832 行路难 分析+题解代码【玄学最短路】
洛谷P2832 行路难 分析+题解代码[玄学最短路] 题目背景: 小X来到了山区,领略山林之乐.在他乐以忘忧之时,他突然发现,开学迫在眉睫 题目描述: 山区有n座山.山之间有m条羊肠小道,每条连接两座 ...
- 【洛谷P3960】列队题解
[洛谷P3960]列队题解 题目链接 题意: Sylvia 是一个热爱学习的女孩子. 前段时间,Sylvia 参加了学校的军训.众所周知,军训的时候需要站方阵. Sylvia 所在的方阵中有 n×m ...
- 浴谷夏令营例题Codeforces827DBest Edge Weight(三个愿望,一次满足~(大雾
这题在浴谷夏令营wyx在讲的最小生成树的时候提到过,但并没有细讲怎么写... 这题可以用三种写法写,虽然只有两种能过...(倍增/倍增+并查集/树链剖分 先跑出最小生成树,分类讨论,在MST上的边,考 ...
- 洛谷P2312 解方程题解
洛谷P2312 解方程题解 题目描述 已知多项式方程: \[a_0+a_1x+a_2x^2+\cdots+a_nx^n=0\] 求这个方程在 \([1,m]\) 内的整数解(\(n\) 和 \(m\) ...
随机推荐
- docker基本的常用命令
- Linux系统中Oracle11g数据库的安装与验证
1.查看Linux系统的位数 2.下载Oracle10g数据库软件 https://blog.csdn.net/xiezuoyong/article/details/81197688 (需要注册Ora ...
- 时序数据库InfluxDB
在系统服务部署过后,线上运行服务的稳定性是系统好坏的重要体现,监控系统状态至关重要,经过调研了解,时序数据库influxDB在此方面表现优异. influxDB介绍 时间序列数据是以时间字段为每行数据 ...
- Python基础入门(迭代器和生成器)
1 Python迭代器 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束. 迭代器只能往前不会后退. 迭代器有两个基本的方法:iter() 和 ...
- JAVA学习笔记--数组初始化
JAVA中,数组只是相同类型的.用一个标识符名称封装到一起的一个对象序列或基本类型数据序列.数组通过方括号下标操作符[]来定义和使用,要定义一个数组只需在类型名后面加上一个方括号即可,如: int[] ...
- 网易客户端授权密码,errormsg='authentication failed (method LOGIN)' exitcode=EX_NOPERM
zabbix群里一网友在安装msmtp+mutt测试发送邮件失败 配置文件如下: /usr/local/msmtp/etc/msmtprc account default host smtp..com ...
- HttpWebRequest下载文件,乱码问题解决方案
写在前面 今天之所以会总结HttpWebRequest下载文件,主要是因为在使用该类下载文件的时候,有些地方需要注意一下,在实际的项目中遇到过这种问题,觉得还是有必要总结一下的.在下载文件时,最常见的 ...
- DB2 V9 默认帐户信息和服务启动信息
1 dasusr1 DB2 管理服务器用户是管理DAS(Database Adminitrator Service).要完全适用db2 cc 必须启动DAS.DB2 管理服务器(DAS)响应来自 DB ...
- shader language学习(1)——shader language简介背景
shader language,称为着色语言,shade在英语是阴影.颜色深浅的意思.shader language基于物体本身属性和光照条件,计算美格橡塑的颜色值. 实际上这种解释具有明显的时代局限 ...
- arp请求与回复
实验环境:wifi 1,手机192.168.1.103 2,电脑192.168.1.106 先删除电脑arp表数据 ping request: reply: