浴谷八连测R4题解

时间:2022-11-04 13:56:19

  一开始出了点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题解的更多相关文章

  1. 洛谷10月月赛R2&&num;183&semi;浴谷八连测R3题解

    早上打一半就回家了... T1傻逼题不说了...而且我的写法比题解要傻逼很多T T T2可以发现,我们强制最大值所在的块是以左上为边界的倒三角,然后旋转4次就可以遍历所有的情况.所以二分极差,把最大值 ...

  2. 浴谷八连测R6题解(收获颇丰&period;jpg)

    这场的题都让我收获颇丰啊QWQ 感谢van♂老师 T1 喵喵喵!当时以为经典题只能那么做, 思维定势了... 因为DP本质是通过一些条件和答案互相递推的一个过程, 实际上就是把条件和答案分配在DP的状 ...

  3. 洛谷八连测R5题解

    woc居然忘了早上有八连测T T 还好明早还有一场...今天的题除了T3都挺NOIP的... T1只需要按横坐标第一关键字,纵坐标第二关键字排序一个一个取就好了... #include<iost ...

  4. 洛谷八连测R4

    1.逃避 https://www.luogu.org/problemnew/show/T14561 注意: 1.输入时需要用EOF判断,否则会TLE. 2.用flag判断字符是不是每一句首字母. 3. ...

  5. 洛谷八连测R6

    本次测试暴0!!!还有两周就要考试啦!!! 看题目时觉得难度不大,就直接写正解,没有参照数据,导致测出的结果和预想有较大差距. 不过得到经验,不管题目难易(除了D1T1)都要参照数据一部分一部分写,那 ...

  6. 洛谷P2832 行路难 分析&plus;题解代码【玄学最短路】

    洛谷P2832 行路难 分析+题解代码[玄学最短路] 题目背景: 小X来到了山区,领略山林之乐.在他乐以忘忧之时,他突然发现,开学迫在眉睫 题目描述: 山区有n座山.山之间有m条羊肠小道,每条连接两座 ...

  7. 【洛谷P3960】列队题解

    [洛谷P3960]列队题解 题目链接 题意: Sylvia 是一个热爱学习的女孩子. 前段时间,Sylvia 参加了学校的军训.众所周知,军训的时候需要站方阵. Sylvia 所在的方阵中有 n×m ...

  8. 浴谷夏令营例题Codeforces827DBest Edge Weight(三个愿望,一次满足~(大雾

    这题在浴谷夏令营wyx在讲的最小生成树的时候提到过,但并没有细讲怎么写... 这题可以用三种写法写,虽然只有两种能过...(倍增/倍增+并查集/树链剖分 先跑出最小生成树,分类讨论,在MST上的边,考 ...

  9. 洛谷P2312 解方程题解

    洛谷P2312 解方程题解 题目描述 已知多项式方程: \[a_0+a_1x+a_2x^2+\cdots+a_nx^n=0\] 求这个方程在 \([1,m]\) 内的整数解(\(n\) 和 \(m\) ...

随机推荐

  1. C&num;的输入输出,类型,运算符,语句的练习

    //请输入您的姓名.年龄.工作单位, //拼接成一句完整的话 //我叫***,今年**岁了,在****工作. Console.Write("请输入你的姓名:"); string n ...

  2. HDU 3667 费用流(拆边)

    题意:有n个城市(1~n),m条有向边:有k件货物要从1运到n,每条边最多能运c件货物,每条边有一个危险系数ai,经过这条路的费用需要ai*x2(x为货物的数量),问所有货物安全到达的费用. 思路:c ...

  3. 一、Android NDK编程预备之Java jni简介

    转自:  http://www.eoeandroid.com/thread-264384-1-1.html 游戏开发 视频教程 博客 淘帖     论坛›eoe·Android应用开发区›Androi ...

  4. Linux进程控制(一)

    1. Linux进程概述 进程是一个程序一次执行的过程,它和程序有本质区别.程序是静态的,它是一些保存在磁盘上的指令的有序集合:而进程是一个动态的概念,它是一个运行着的程序,包含了进程的动态创建.调度 ...

  5. 小明系列问题——小明序列&lpar;Lis 相距大于d的单调上升子序列&rpar;

    小明系列问题——小明序列 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Tot ...

  6. 元素的BFC特性与自适应布局

    一.BFC元素简介与基本表现. BFC全程"Block Formatting Context",中文为"块级格式化上下文".记住一句话:BFC元素特性表现原则就 ...

  7. Spinner控件详解

    Spinner控件详解 效果图 修改Spinner样式 在介绍之前,先看一下系统原生的样式 6.x & 5.x系统样式 4.x系统样式 官方文档 XML属性 方法 描述 android:dro ...

  8. Genymotion Android模拟器Genymotion的安装和使用

    Android模拟器Genymotion的安装和使用 by:授客 QQ:1033553122 环境: Win7 Genymotion 2.12.0 下载地址:http://download.canad ...

  9. 【转】阿里云免费SSL证书申请与安装使用(IIS7)

    阅读目录 准备: 第一步:免费SSL证书申请 第二步:证书导入 第三步:分配服务器证书 最后一步:访问测试 回到顶部 准备: 阿里云已完成备案的域名一个 回到顶部 第一步:免费SSL证书申请 登陆阿里 ...

  10. redhat本地yum源配置

    /dev/sr0是光驱的设备名,/dev/cdrom代表光驱 /dev/sr0 与/dev/cdrom /dev/cdrom 只是一个到sr0的符号链接 mount /dev/sr0   /mnt   ...